编程修养
2008-02-23 05:27:53来源:互联网 阅读 ()
我认为好的程式员应该有以下几方面的素质:
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程式设计的常用算法
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash