总结一些实际编码中的金科玉律

最近看了《程序员修炼之道,从小工到专家》。蛮有收获,在这里总结一下其中编码的金科玉律,比如DRY(Don't repeat your self),KISS(keep it simple and stuipd)原则。要让自己在代码的时候时刻记得这些,只有有意识地强化实践和反复提醒自己。毕竟能不能让正确的原则指导正确的行动本身,其实就是区分是否是高手的一个显著标志。

1、在所有弱点中,最大的弱点就是害怕暴露弱点

2、提供各种选择,不要找撇脚的接口

3、不要容忍破窗户:

不要留着“破窗户”(低劣的设计、错误的决策、或是糟糕的代码)不修。发现一个就修一个。如果没有足够的时间进行适当的修理,就用木板把它钉起来。或许你可以把出问题的代码放入注释。

4、正交性(低耦合,高内聚):

在计算技术中,该属于用于表示某种不相依赖或是解耦性。如果两个或更多事务中的一个发生变化,不会影响其他事物,这些事物就是正交的。

5、你不可能写出完美的软件,按合约设计,断言式编程

6、德墨忒尔法则:(好篱笆促成好邻居)编写“羞怯”的代码是有益的。但“羞怯”的工作方式有两种:不向别人暴露你自己,不与太多人打交道。

public void plotDate(Date aDate, Selection aSelection){
    TimeZone tz = aSelection.getRecorder().getLocation().getTimeZone();
//现在绘制例程不必要地与三个类耦合在一起————Selection、Recorder及Location。这种编码风格极大地增加了我们的类所依赖的类的数目。因为它增加了系统别的地方的一个无关改动影响你代码的风险。例如:如果Fred对Location做出变动,使它不再直接包含TimeZone,你也必须改动你的代码。

//应该直接要求提供你所需的东西,而不是自行“挖通”调用层次
public void plotDate(Date aDate, TimeZone aTz){
    ...
}
plotDate(someDate, someSelection.getTimeZone));

7、要配置,不要集成。用元数据驱动应用,把抽象放进代码,细节放进元数据。

 

未完待续。。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值