暂定的目录
系列1 程序员守则
系列2 注重实效的哲学
系列3 注重实效的途径
——思想决定了代码的健壮性、扩展性,不夸张的说,决定代码的一切。
——表达思想和态度,感受情绪和乐趣,画家靠绘画作品,程序员就靠代码。
系列4 nosql里redis的架设
系列5 redis的php端使用,会做几个简单的例子,为redis的基础。
系列6-系列10 redis+php,做一个简单爬虫。
redis的list结构做队列,set结构做排他索引,zset结构做优先级,结合snoopy可按链接跟踪,设置跟踪深度,等等。
写多少算多少 太监了别找我
不要重复你自己。
do not repeat yourself.
Tips: 在开发过程、规范和程序中,很容易重复的表述知识,而当我们这样做时,就是在向噩梦般的维护发出邀请。系统中的每一项知识,都必须具有单一、无歧义、权威的表示。如果你在两个或更多的地方表述同一事物,当你改变一处,就得改变其他处,不是你是否记得的问题,而是你何时忘记的问题。
让复用变的更容易。
make it easy to reuse.
Tips:你要做的是营造一种环境,在其中要找到并复用已有的东西比自己编写更容易,如果不容易大家就不会复用。如果不复用就会有重复知识的风险。
Ps:关于正交性,计算机技术中,该术语表示某种不相依赖性或解耦性,如果两个或更多事物发生变化,不会影响其他事物,这些事物就是正交的,在设计良好的系统中,数据库代码与页面是正交的,你可以改动界面而不影响数据库,也可以更换数据库,而不用改动页面。
消除无关事物之间的影响。
Eliminate effects between unrelated things.
Tips:当系统的各个组件相互高度依赖时,就不再有局部修正(local fix)这样的事。你要设计自足的组件,独立,具有单一性,良好的定义和目的,组件之间相互隔离,改变其一不会影响其他任何一个。只要不改变组件接口,就不会造成波及整个系统的问题。
Ps:
1.让你的代码保持解耦,保持羞怯,没有必要不向其他模块暴露任何事情,也不依赖其他模块的实现模块。如果要改变对象的状态,让对象替你做。
2.避免使用全局数据,他们可能会造成不必要的关联。
3.避免编写相似的函数。
如果某个想法是你唯一的想法,没有什么比这个更危险的了。如果你严重依赖某一事实,几乎可以确定它将会起变化。
不存在最终决策。
There are no final decisions.
用曳光弹找到目标。
Use trace bullets to find the target.
Tips: 曳光代码并非用了就扔的代码,你编写它是为了保留它,它包含完备的错误检查、结构、文档以及自查,不过功能不全而已。但是系统一旦出现这种代码,你就能逐渐评估你离目标有多远,在必要的情况下进行调整——在曳光弹的照耀下,找到目标是很容易的事,一旦你瞄准目标,增加功能再简单不过了——总有改动需要完成,总有功能需要增加。
Ps:当然,曳光弹也并非总能找到目标,可能你尝试了几次以后还是一无所获,这时可以尝试找出怎样改进让其更接近目标的方法,小段代码的惯性很小,要改变它很容易。
语言的界限就是一个人世界的界限。——维特根斯坦
原文地址:http://bbs.lampbrother.net/read-htm-tid-119797.html
上一篇:回馈系列2-注重实效的哲学
下一篇:浅谈微博
相关热门文章 给主人留下些什么吧!~~ 评论热议