以下为看《高效程序员的45个习惯-敏捷开发修炼之道》所作的简单笔记
大多有自己的附加见解,欢迎交流microsky2813@hoitmail.com
如果你还有没看这本书,那么你应该先看下下面的东西,你会对看不看那书做出正确的选择;如果你已经看过这本书,可以看下下面的温习下^-^
0.不管走了多远,错了就要重新返回//圣言,居首
1.使用CVS,//之前看见有学长高手用Google的CVS,确实是日常就应该养成的习惯
2.软件开发 先难后易,我们要首先解决困难的问题,把简单的问题留到最后//开发中很重要,好处一可以估计项目进度与可行性
3.抓住“度”//(“度然后知长短,学然后知不足”),不要做的过度,如果敏捷,那么请抓住敏捷的平衡
4.项目常有压力,压力容易让人走捷径,这是不对的!
5.Blame doesn't fix bug!//与其指责别人,不如好好去干该干的
如果你没有犯过任何错误,那么你可能没有认真工作//若干“经典”都会出现类似的这一句。(《C陷阱》我记得就有)
6.你不需要真正理解那块代码,它只要能够工作就可以了。哦,他需要一个小小的调整。只要在结果中再加上几行代码,他就可以正常工作了。干吧!就把那几行代码加进去,他应该可以工作
//这是绝对错误的。不得不说,我以前也这么干过,特别是些变态的算法中,但是“出来混总有天是要还的”“防微杜渐”。
7.继续用你熟悉的语言做你的老本行吧,你不可能跟上技术变化的脚步。//这是不对的,请跟上时代,这是计算机科学与软件,虽然有几乎不变的基础,但对专业内的技术不熟悉的人是不可能成为专家的
//不需要精通所有的技术,但知道行业动向(从而规划你的项目和职业生涯)是必要的。
//如果要将应用切换到新的技术、语言或开发框架,请先做好评估,然后决定。
8.团队里每个人都比你厉害吗?那么太好了//奈何,不进则退。
9.懂得丢弃//有时:10年J2EE == PHP一个月,还有Ruby on Rails。新技术会让你恐惧的,注意第7条
10.不停的问为什么,知道到达问题的根源//问包括问自己和问别人
11.没有任何计划能在遇敌后还能继续执行//
12.Decide what you shouldn't decide。//开发中注意与客户交互,不要替客户做太多的决定
13.好设计是一张地图,它也会进化。//不要完全被设计左右。
14.Don't build what you can download!//我就常有这种情况。如果发现你在做一些花哨的东西(从头创建框架),那么醒醒吧
15.Never accept big-bag integration!//提早集成,频繁集成
16.A fixed price guarantees a broken promise//注意此条。
17.不要轻易放弃单元测试//TDD(Test Driven Development,测试驱动开发),先用它再实现它,很有意思的方法
18.度量剩下的工作量//这需要诚实与勇气,我觉得确实很难
19.编写清晰而不是讨巧的代码//一行省略大括号、位运算代替乘法 都不是清晰的方法,但应该能熟练掌握
20.过早的优化是万恶之源//亲身经历过,确实正确
21.记录问题解决日志//这种方法确实能帮不少忙
22.处理或是向上传播所有的异常//否则很容易被遗忘,关于异常是否是好的机制的问题《More jols in software》提到过,短期内我可能会专门研究下
后记:不得不说,这本《高效程序员的45个习惯-敏捷开发修炼之道》的作者有大量的实践和经验,并且特别聪明,一般的书常出现到之前的某页查询,这本书反而经常出现某某会在之后的某页出现
最后留下快排发明者Hoare的话“设计软件有两种方法,一种是尽量简单,并且明显没有错误,另一种是设计的尽可能复杂,并且没有明显的缺陷”