《高校程序员的45个习惯》--敏捷编码(Ⅵ)

在开发过程当中便细心“照看”代码!!编程

1、代码要清晰的表达意图:性能

  案例1  conffeeshop.PlaceOrder(2); 测试

  以上代码,能够大体明白是要在咖啡店里下一个订单,可是参数2表明什么意思不清楚,那么咱们能够这么写spa

  先定义一个枚举,如   public enum CoffeeCupSize { Small, Medium, Large } code

  接下来,能够这样下单, coffeeshop.PlaceOrder(CoffeeCupSize.Large) ,这样咱们就能明白是要一个大杯咖啡了。blog

  以上案例告诉咱们,要编写清晰的而不是讨巧的代码!继承

2、用代码沟通:接口

  使用细心选择的、有意义的命名;开发

  解释代码作了什么的注释用处不大,相反,注释要说明为何会这样写代码!class

3、动态评估取舍:

  没有最佳的解决方案;

  考虑性能、便利性、生产力、成本和上市时间;

  即便不能面面俱到,也应该以为已经获得了最重要的东西--客户认为有价值的特性!

4、增量式编程:

  采起增量式编程和测试,会倾向于建立更小的方法和更具内聚性的类;

  重构代码,重构测试;

  要休息的话就请远离键盘好好休息!

5、保持简单:

  简单不是简陋;

  简洁、优雅的代码,是易于理解和辨识的;

  太过简单不等于简单,那样没法达到沟通的目的;

6、编写内聚的代码:

  若是一个组件中的成员共同完成了一个功能特性或一组功能特性,那么这个组件就是内聚的;

  让类的功能尽可能集中,让组件尽可能小;  

  须要高内聚、低耦合!

7、告知,不要询问:

  将命令与查询分离开来;

8、根据契约进行替换:

  保持系统灵活性的关键方式,是当新代码取代原有代码以后,其余已有的代码不会意识到任何差异;

  通常状况下,若是新类能够替换已有的类,就要使用继承。若是新类只是使用已有的类,那么就用委托;

  经过替换遵循接口契约的类,来添加并改进功能特性,要多使用委托而不是继承;

  相对继承来讲,委托更加灵活,适应力也更强!

相关文章
相关标签/搜索