在《程序员修炼之道》这本书里,我也了解到了不一样的知识。对于前面一部分的阅读让我受益匪浅,也加深了我继续阅读下去的渴望。然而在对注重实效的途径这部分内容阅读的时候,我也发现很多东西令我把握不了,它出现了非常多的术语,这对于我这样的菜鸟来说,无意识非常致命的。所以我只能对这部分的内容加以了解,而不能完全理解与消化。下面就是我对所读部分的内容(注重实效的途径)做出的简单总结。
1、不要重复你自己。
don‘t repeat yourself;
系统中的每一项知识都必须具有单一、无歧义、权威的表示;
重复是怎样发生的:
强加的重复;
无意的重复;
无耐性的重复;
开发者之间的重复;
重复的发生地方:
开发者没有意识到重复;有时,重复来自于设计中的错误;
开发者偷懒、他们重复,因为那样代码似乎更容易修改;
开发者之间的重复:同一团队中几个人重复了同样的信息;处理这个问题的最佳 方式就是鼓励交流;一定要阅读他人的代码,并进行代码review;
让复用变得更容易!
你需要营造一种环境,在其中找到并复用已有的东西;如果不容易,大家就不会 去复用;而如果不复用,就有了重复的风险;
2、维持正交性。
正交:两个事物中一个发生变化,对其他无影响,这两个事物就是具有正交性;
正交性的好处:
提高生存率;
降低风险;
让代码维持正交性,可以消除无关事物之间的影响;
3、可撤销,可更换。
不存在最终的目标,也没有终极的架构;项目的任何一个模块一个组件都是可撤 销,可替换的;
不要过度依赖于某个第三方的产品,否则你的项目就被第三方绑架了;
通过灵活的架构,将第三方产品隐藏在良好的抽象接口之后;
4、无处不在的自动化。
多用python、shell等脚本语言,将工作的重复性任务自动化实现;
对于编程中的重复性代码,通过脚本自动生成代码来实现;
在工作中多总结,提炼小系统,让流程、代码都自动化;
linux下的cron是个好东西,让你的自动化任务都在夜深人静时准时执行;
对于注重实效的途径这部分来说,并不是我当前所熟悉擅长的知识,这需要我在以后的学习或者工作当中慢慢去了解,才能熟悉并把握这部分的知识点。或许我们当前用不上这部分的技能,但在我们日后的工作中肯定能用上,希望这部分的知识能早日成为我技能中的一部分。
原文:http://www.cnblogs.com/crazy-soul/p/5606010.html