高效编程十八式

转自:http://blog.sina.com.cn/s/blog_4ed027020100hfkd.html

 

导言:编程五大原则

王伟冰

本文讨论的是如何提高编程的质量和效率,涉及编程的十八个方面:类,函数,泛型,委托,封装,约束,继承,多态,宏思想,语法糖,命名,陷阱,异常,性能优化,多线程,代码编辑,测试,调试。

示例代码主要是用C++写的,但是我所讨论的原则同样适用于其它语言。

我根据自已实际编程的经验,以及阅读过的编程书籍,总结出编写代码的五条基本原则:简洁,安全,快速,灵活,清晰。下面用一些小小的例子,来接触一下这五个原则。

 

我们在编程的时候,经常会遇到常量,比如说圆周率,我们可以这样写:

const double PI=3.14159265;

这样做的第一个好处就是,每一次用到圆周率时,只需要写PI,就不用写什么3.14…一大串了,这就引出了第一个原则:

简洁原则:写出来的代码要尽量简洁,避免重复。

 

使用PI的另一个好处是,不容易出错。如果我们每一次都写3.14…,那么有可能某一次会不小心写错了哪位数字,导致计算结果不正确,这种错误很难被发现。但是用PI的话,即使我们不小心把PI拼错了,编译器也会提醒我们。这就是第二个原则:

安全原则:写出来的代码要不易出错,易于查错。

 

那么,为什么要写成const呢?直接写double PI=3.14159265不也可以吗?这涉及到性能问题,const型的变量编译时就能确定它的值,而非const型的变量在运行才能得到它的值,执行速度会慢一些。于是引出第三个原则:

快速原则:写出来的代码要快速运行,尽量省时。

 

再来看另一个例子,比如你想输入10个数,然后排好序输出来:(省略具体过程)

const int Length=10;

int a[Length];

for(int i=0;i< Length;i++) ……//逐个输入

……//排序

for(int i=0;i< Length;i++) ……//逐个输出

    为什么要用Length来代替10呢?这不是违反了简洁原则吗?但是想想,假如你还想试一试输入20个数的情况,那么你只需要把第一句中的10改成20就可以了。如果全部都直接写10,那就一个个都要改成20,麻烦不?所以就有第四个原则:

    灵活原则:写出来的代码要易于更改,易于扩展。

 

那么,为什么要用Length呢?直接写L不是更简洁吗?简洁是简洁,但是写成L不能准确体现出长度这个意义,让人无法一眼看出这个变量的作用。这是第五个原则:

清晰原则:写出来的代码要意图清晰,易于阅读。

 

    以上五个原则,不分优先级,同等重要。如果它们出现冲突,该如何取舍,取决于实际情况。随后的章节会详细地介绍这些原则在具体编程中的应用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值