《程序员修炼之道:从小工到专家》阅读笔记03

注重实效的项目

注重实效的团队

  注重实效的技术都是要帮助个体成为更好的程序员,这些方法对于团队同样适用,如果个体实在注重实效的团队中工作,这些好处就会成倍增长。

不要留破窗户

  质量是一个团队问题。最勤勉的卡发着如果被派到不在乎质量的团队里,会发现自己很难保持修正琐碎问题所需的热情。如果团队主动鼓励开发者不要把时间花费在这样的修正上,问题就会进一步恶化。团队作为一个整体,不应该容忍破窗户——那些小小的、无人修正的不完美,团队必须为产品的质量负责,支持那些了解我们在"软件的熵"中描述的“不要留破窗户”哲学的开发者,并鼓励那些还不了解这种哲学的人。

质量只可能源于全体团队成员都做出自己的贡献。

  煮青蛙,还记得在“石头汤与煮青蛙”一节中汤里的那只可怜的青蛙,它没有注意到周围环境的渐变,最终被煮熟了,同样的事情也会发生在不警醒的人身上,在项目开发高涨的热度里,很难再用一只眼睛注意周围的环境。

  作为整体的团队甚至会更容易被煮熟。大家认为,另外有人在处理某个问题,或是团队领导一定已经批准了用户要求作出的某项改动。即使是目的最明确的团队对项目中的重大改动可能也会很健忘。

  交流,显然,团队中的开发者必须相互交谈,给出了促进交流的建议,但是人们很容易忘记,团队本身也存在于更大的组织中,团队作为实体需要同外界明晰地交流。课上老师也经常讲,公司里面有每天的站立会议,每天进行沟通交流,没有交流的团队就跟每个程序员单干没有什么区别,只是给程序员找了个同伴而已。同时交流也会催促大家进行更好的工作,每次的交流,大家都会说说自己做了什么,还有什么没做,这样也起到了自我督促的作用。

无情的测试

  大多数开发者都讨厌测试。他们往往会温和地测试,下意识地知道代码会在哪里出的问题、并避开那些薄弱的问题,注重实效的程序员与此不同,我们收到驱迫,现在就要找到我们的bug,以免以后经受由别人找到我们的bug所带来的羞耻。寻找bug有点像是用网捕鱼。我们用纤小的网(单元测试)捕捉小鱼,用粗大的网(集成测试)捕捉吃人的鲨鱼。有时候鱼会设法逃跑,所以为了抓住在我们的项目池塘里游动的,越来越多狡猾的缺陷,我们要补上我们发现的任何漏洞。

早测试,长测试,自动测试。

要到通过全部测试,编码才算完成。

  进行测试,许多项目往往会把测试留到最后一分钟——最后期限马上就要来临时,我们需要比这早的多地开始测试,任何产品代码一旦存在,就需要进行测试,大多数测试都应该自动完成,注意到这一点很重要,我们所说的“自动”意味着对测试结果也进行自动解释。

posted @ 2019-05-29 18:27  枫黎  阅读(137)  评论(0编辑  收藏  举报