程序员修炼之道--从小工到专家(三)

  

  1、断言式编程

  a.在自责中有一种满足感。当我们责备自己时,会觉得再没人有权责备我们。

                          ——奥斯卡·王尔德:《多里安·格雷的画像》

 

  b.如果它不可能发生,用断言确保它不会发生(If It Can’t Happen, Use Assertions to Ensure That It Won’t)

  

  2、靠巧合编程

  a.不要靠巧合编程(Don’t Program by Coincidence)

 

  b.不要使用你不理解的向导代码(Don’t Use Wizard Code You Don’t Understand)

 

  3、需求之坑

  a.不要搜集需求——挖掘它们(Don't Gather Requirements- Dig for Them)

  b.“投资”于抽象,而不是实现。抽象能在来自不同的实现和新技术的变化的“攻击”之下存活下去。

 

  c.抽象比细节活得更长久(Abstractions Live Longerthan Details)

 

  4、 圆圈与箭头
  工具是拿来帮助加快开发,而不是束缚开发的。

 

  5、调试

  a.开始学习编程,觉得和其他人最不一样的地方在于两点,一是自己思考程序的流程,写下代码之前,知道代码将要(预期)执行的顺序逻辑,二是会调试代码,出现错误时不像一般人完全不知道该如何是好,而是去调试来寻找出错的原因。

 

  b.一个程序员的经验丰富情况很大程度依赖于他遇到的bug并解决的数量,所以一个人代码写的越多,解决的问题越多,那么他下次遇到问题时就越容易很快的定位。所以,有时候遇到问题并且成功的选择另外一个方案绕过去以后,不妨回头再看看原来到底为什么不行,毕竟下次也许你又要遇到,而且,更重要的是,可能到时候不能选择其他的方案。

 

  c.要修正问题,而不是发出指责(Fix the Problem, Not theBlame)

 

  d.人很容易恐慌,特别是如果你正面临最后期限的到来、或是正在设法找出bug的原因,有一个神经质的老板或客户在你的脖子后面喘气。但非常重要的事情是,要后退一步,实际思考什么可能造成你认为表征了bug的那些症状。

 

  6、无处不在的自动化
  程序的目的之一就是让原本繁琐复杂的重复劳动自动化的处理,而软件开发过程中也一样需要自动化。

 

   

  至此,《程序员的修炼之道——从小工到专家》就全部拜读完了,但是,在读完之后,还是有许多不解的地方,直到写这篇博客的时候,我仍然会有时候会犯很低级的错误,大概还是熟能生巧吧。

 

  此书今后会再次拜读的。

原文地址:https://www.cnblogs.com/yandashan666/p/10424459.html