要修正问题,而不是发出指责
bug是你的过错还是别人的过错,并不是真的很有关系——它仍然是你的问题,它仍然需要修正。勇于承认自己的过错,这没有什么。
不要恐慌
做一次深呼吸,思考什么可能是bug的原因。记得刚入团队时,我时常会对难以捉摸,尤其是不能复现的bug感到恐惧,但细细寻找,你还是能看到蛛丝马迹。
通过合约进行设计
使用合约建立文档,并检验代码所做的事情正好是它声明要做的。规定好我们要传入的参数的类型,数量,将他们写在注释里,并对不合约定的参数进行处理。
要配置,不要集成
要将应用的各种技术选择实现为配置选项,而不是通过集成或工程方法实现。Yii框架的组件便是这一思想的最佳实践。
使视图与模型分离
要根据模型和视图设计你的应用,从而以低廉的代码获取灵活性。最近的nodejs好火,前后端分离是必然趋势,纯粹的模型测试起来也是非常方便。
测试你的软件,否则你的用户就得测试
无情的测试,不要让你的用户为你找bug
使用项目词汇表
创建并维护项目中使用的专用术语和词汇的单一信息源。这一点深有感触,为了方便,项目中通常会有一些简称,他对于业务人员是熟悉的,但编程人员却不这么想。
在你的作品上签名
过去时代的手艺人为能在他们的作品上签名而自豪。你也应该如此。坦白的说,签名之后再看这段代码会非常愉悦,有时还会陷入自我欣赏中,他其实还有一个作用,我对代码负责,我测试过并确保他的良好运行,也是一种自我监督吧。