标签:
在开发过程中便细心“照看”代码!!
一、代码要清晰的表达意图:
案例1 conffeeshop.PlaceOrder(2);
以上代码,可以大致明白是要在咖啡店里下一个订单,但是参数2代表什么意思不清楚,那么我们可以这么写
先定义一个枚举,如 public enum CoffeeCupSize { Small, Medium, Large }
接下来,可以这样下单, coffeeshop.PlaceOrder(CoffeeCupSize.Large) ,这样我们就能明白是要一个大杯咖啡了。
以上案例告诉我们,要编写清晰的而不是讨巧的代码!
二、用代码沟通:
使用细心选择的、有意义的命名;
解释代码做了什么的注释用处不大,相反,注释要说明为什么会这样写代码!
三、动态评估取舍:
没有最佳的解决方案;
考虑性能、便利性、生产力、成本和上市时间;
即使不能面面俱到,也应该觉得已经得到了最重要的东西--客户认为有价值的特性!
四、增量式编程:
采取增量式编程和测试,会倾向于创建更小的方法和更具内聚性的类;
重构代码,重构测试;
要休息的话就请远离键盘好好休息!
五、保持简单:
简单不是简陋;
简洁、优雅的代码,是易于理解和辨识的;
太过简单不等于简单,那样无法达到沟通的目的;
六、编写内聚的代码:
如果一个组件中的成员共同完成了一个功能特性或一组功能特性,那么这个组件就是内聚的;
让类的功能尽量集中,让组件尽量小;
需要高内聚、低耦合!
七、告知,不要询问:
将命令与查询分离开来;
八、根据契约进行替换:
保持系统灵活性的关键方式,是当新代码取代原有代码之后,其他已有的代码不会意识到任何差别;
一般情况下,如果新类可以替换已有的类,就要使用继承。如果新类只是使用已有的类,那么就用委托;
通过替换遵循接口契约的类,来添加并改进功能特性,要多使用委托而不是继承;
相对继承来说,委托更加灵活,适应力也更强!
标签:
原文地址:http://www.cnblogs.com/xishi7/p/4233091.html