编程修养

2008-02-23 05:27:53来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

 什么是好的程式员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。

  我认为好的程式员应该有以下几方面的素质:

 1、有专研精神,勤学善问、举一反三。
 2、积极向上的态度,有创造性思维。
 3、和人积极交流沟通的能力,有团队精神。
 4、谦虚谨慎,戒骄戒燥。
 5、写出的代码质量高。包括:代码的稳定、易读、规范、易维护、专业。

  这些都是程式员的修养,这里我想谈谈"编程修养",也就是上述中的第5点。我觉得,假如我要了解一个作者,我会看他所写的小说,假如我要了解一个画家,我会看他所画的图画,假如我要了解一个工人,我会看他所做出来的产品,同样,假如我要了解一个程式员,我想首先我最想看的就是他的程式代码,程式代码能够看出一个程式员的素质和修养,程式就像一个作品,有素质有修养的程式员的作品必然是一图精美的图画,一首美妙的歌曲,一本赏心悦目的小说。

  我看过许多程式,没有注释,没有缩进,胡乱命名的变量名,等等,等等,我把这种人统称为没有修养的程式,这种程式员,是在做创造性的工作吗?不,完全就是在搞破坏,他们和其说是在编程,还不如说是在对源程式进行"加密",这种程式员,见一个就应该开除一个,因为他编的程式所创造的价值,远远小于需要在上面进行维护的价值。

  程式员应该有程式员的修养,那怕再累,再没时间,也要对自己的程式负责。我宁可要那种动作慢,技术一般,但有良好的写程式风格的程式员,也不要那种技术强、动作快的"搞破坏"的程式员。有句话叫"字如其人",我想从程式上也能看出一个程式员的优劣。因为,程式是程式员的作品,作品的好坏直截关系到程式员的声誉和素质。而"修养"好的程式员一定能做出好的程式和软件。

  有个成语叫"独具匠心",意思是做什么都要做得很专业,很用心,假如您要做一个"匠",也就是造诣高深的人,那么,从一件很简单的作品上就能看出您有没有"匠"的特性,我觉得做一个程式员不难,但要做一个"程式匠"就不简单了。编程式很简单,但编出有质量的程式就难了。

  我在这里不讨论过深的技术,我只想在一些容易让人忽略的东西上说一说,虽然这些东西可能很细微,但假如您不注意这些细微之处的话,那么他将会极大的影响您的整个软件质量,连同整个软件程的实施,所谓"千里之堤,毁于蚁穴"。

  "细微之处见真功",真正能体现一个程式的功底恰恰在这些细微之处。

  这就是程式员的--编程修养。我总结了在用C/C 语言(主要是C语言)进行程式写作上的三十二个"修养",通过这些,您能够写出质量高的程式,同时也会让看您程式的人渍渍称道,那些看过您程式的人一定会说:"这个人的编程修养不错"。
  ------------------------
    
    01、版权和版本
    02、缩进、空格、换行、空行、对齐
    03、程式注释
    04、函数的[in][out]参数
    05、对系统调用的返回进行判断
    06、if 语句对出错的处理
    07、头文档中的#ifndef
    08、在堆上分配内存
    09、变量的初始化
    10、h和c文档的使用
    11、出错信息的处理
    12、常用函数和循环语句中的被计算量
    13、函数名和变量名的命名
    14、函数的传值和传指针
    15、修改别人程式的修养
    16、把相同或近乎相同的代码形成函数和宏
    17、表达式中的括号
    18、函数参数中的const
    19、函数的参数个数
    20、函数的返回类型,不要省略
    21、goto语句的使用
    22、宏的使用
    23、static的使用
    24、函数中的代码尺寸
    25、typedef的使用
    26、为常量声明宏
    27、不要为宏定义加分号
    28、||和&&的语句执行顺序
    29、尽量用for而不是while做循环
    30、请sizeof类型而不是变量
    31、不要忽略Warning
    32、书写Debug版和Release版的程式
  ------------------------

1、版权和版本
-------
好的程式员会给自己的每个函数,每个文档,都注上版权和版本。
对于C/C 的文档,文档头应该有类似这样的注释:
/********************************************************************
*
*  文档名:network.c
*
*  文档描述:网络通讯函数集
*
*  创建人: Hao Chen, 2003年2月3日
*
*  版本号:1.0
*
*  修改记录:
*
********************************************************************/

而对于函数来说,应该也有类似于这样的注释:

/*============================================================
*
* 函 数 名:XXX
*
* 参  数:
*
*    type name [IN] : descripts
*
* 功能描述:
*
*    ..............
*
* 返 回 值:成功TRUE,失败FALSE
*
* 抛出异常:
*
* 作  者:ChenHao 2003/4/2
*
============================================================*/

这样的描述能够让人对一个函数,一个文档有一个总体的认识,对代码的易读性和易维护性有很大的好处。这是好的作品产生的开始。


2、缩进、空格、换行、空行、对齐
----------------
i) 缩进应该是每个程式都会做的,只要学程式过程式就应该知道这个,但是我仍然看过不缩进的程式,或是乱缩进的程式,假如您的公司更有写程式不缩进的程式员,请毫不犹豫的开除他吧,并以破坏源码罪起诉他,还要他赔偿读过他程式的人的精神损失费。缩进,这是不成文规矩,我再重提一下吧,一个缩进一般是个TAB键或是4个空格。(最好用TAB键)
ii) 空格。空格能给程式代来什么损失吗?没有,有效的利用空格能够让您的程式读进来更加赏心悦目。而不一堆表达式挤在一起。看看下面的代码:
  ha=(ha*128 *key )%tabPtr->size;
  ha = ( ha * 128 *key ) % tabPtr->size;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: C语言高效编程技巧

下一篇: C程式设计的常用算法