45句话读懂《高效程序员的45个习惯》

2018-12-27 / Hacker

1、不要抱怨,把注意力集中到解决问题上来。

2、了解清楚情况,比如团队风格,业务需求等,才动手编码。

3、指出问题,当然,更好的做法是礼貌一点。

4、勇敢的说出实情,然后努力的去解决问题。

5、用邓公的话来说:与时俱进,开拓进取。

6、提倡团队成员之间的分享精神,比如搞个午餐会议(虽然听起来很蛋疼)。

7、抛弃旧习惯很难,这需要勇气,但是想要与时俱进,这是必须要做的,想想改革开放前后的对比。

8、对于一个问题,不满足于表象,不断追问’为什么’,当然,也要问到点子上。

9、把握开发的节奏,固定的时间做固定的事情,就像跳舞和演奏一样,一个节拍一动,充满韵味。(不只是开发,适用于一切工作。)

10、让需求方决定需求,而且描述越清楚越好,不然返修就是必然的。

11、设计和开发交替进行,不要被一开始的设计图牵着鼻子走。

12、根据需要选择技术,问自己为什么需要这种技术,其中一个标准是使用新技术是否无需时间成本。

13、使用版本管理工具,以免引入破坏性的修改导致系统死掉。

14、子系统频繁集成,有助于提早发现问题,以免后期隐藏的问题滚起雪球。

15、从一开始就使用自动化部署应用和环境,还是那个早期不做准备后期问题被滚雪球无限放大。

16、需求的变化是人的天性,如果不想在最后软件交付时才去面对用户的变化,那么就该使用演示获得频繁的反馈。

17、小步前进,使用短迭代、增量发布的方式开发大型系统,而且这也能避免跳票,还能根据用户的反馈及时修正方向。

18、固定的项目报价有悖于敏捷开发的原则,合理的做法是短迭代,由用户去评估每次迭代的成果并决定是否继续做下去。

19、使用自动化单元测试工具,每次构建和编译时都会运行之前留下的测试代码,能帮助发现新修改带来的错误。

20、测试驱动开发,即:在编写之前,先编写测试用例去使用它,出现问题是就马上针对问题去做开发。

21、使用持续集成工具,周期性的从源码控制系统中取得代码,并运行代码。这种方式能够帮助发现不同平台(操作系统)下的兼容问题。

22、使用FIT,即集成测试框架,使用户参与到验收测试的用例设计上来。

23、度量本次工作的时间花费,如果有错误,那么在下一次度量的时候就有了修改的依据。

24、倾听真实用户的声音,查看一下找出真正的问题所在。

25、代码要清晰地表达意图,比如说使用枚举来代替不明意义的数字,应该努力的增加代码的表现力。

26、保持良好的命名规范,使用代码来进行沟通,必要时加上注释,但是也请不要添加无意义的注释。

27、动态的评估各种因素:性能、成本、可移植性等,然后做出取舍,不要去追求不可达的“完美”。

28、编程如开车,不可能能一路踩着油门到达终点,使用增量编程的方式,分阶段去添加新的特性进来。

29、代码设计应该保持简单,在几百行代码中使用十几个设计模式是不可取的。

30、保持代码的高内聚,意味着一个模块内部所有函数都是为了齐心协力完成同一个功能,这呼应了第29条保持简单。

31、划分各自的职责范围,封装修改为命令,封装读取为查询,并设置一定的访问控制防止意外发生。

32、编程时需要更多的考虑程序语义,比如继承要求子类和父类是is-a的关系,如果不是is-a的关系可以考虑用聚合的方式做代码重用。

33、可以把每日日报当做解决方案日志来做,碰到问题就把解决思路记录下来并做成可搜索的方式,这样再次碰到时就能亡羊补牢。

34、调高编译器的提示级别,把警告当做错误来处理,不要忽略它。

35、分离开模块做单元测试,对发现的问题做逐个击破。

36、抛出所有异常,除非你确实想好了怎么处理,不然与其让问题藏着掖着不如在发生的时候爆发出来留个全尸。

37、提供有用的错误信息给用户,比如说:[问题摘要][详细细节]。

38、提倡“每日立会”,并回答三个问题:1、昨天有什么收获?2、今天有什么计划?3、未来有什么障碍?

39、架构师必须写代码,原理阵线的将军难以成为合格的战役指挥者。

40、实行代码集体所有制,互相之间轮换维护各自的代码,这将提高代码的整体质量、易于维护、降低出错率。(极客与团队中也提倡代码不署名,方便他人作改动。)

41、与团队分享知识和经验,知识并不像金钱,给了别人自己就没有了,知识分享了之后就从一份变成了两份。

42、帮助他人可以不直接提供解决方法,而且告知如何去解决问题,相信别人也有这种能力,授人以鱼不如授人以渔。

43、向源码控制系统提交代码时,所有单元测试都是可以通过的,而且应该与一个特定的任务或是一个bug的解决相关,并注有日志信息。

44、在代码刚刚完成时,做代码复查能够很好的发现大部分BUG,复查的方式可以是轮换复查或者结对编程。内容可以是:1、可读性 2、明显的错误 3、对其他部分的影响 4、重复代码 5、可改进和重构

45、积极的通报进展和问题,不要等到时间截止的时候才来做这件事,也不要等别人来询问进展,积极主动才够敏捷。

Repost from: https://www.jianshu.com/p/7f4a2369199a