【vc++精品源码栏目提醒】:网学会员为广大网友收集整理了,编程修养 - 其它资料,希望对大家有所帮助!
编程修养 ———— 陈皓什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。
对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。
我认为好的程序员应该有以下几方面的素质: 1、有专研精神,勤学善问、举一反三。
2、积极向上的态度,有创造性思维。
3、与人积极交流沟通的能力,有团队精神。
4、谦虚谨慎,戒骄戒燥。
5、写出的代码质量高。
包括:代码的稳定、易读、规范、易维护、专业。
这些都是程序员的修养,这里我想谈谈“编程修养”,也就是上述中的第5点。
我觉得,如果我要了解一个作者,我会看他所写的小说,如果我要了解一个画家,我会看他所画的图画,如果我要了解一个工人,我会看他所做出来的产品,同样, 如果我要了解一个程序员,我想首先我最想看的就是他的程序代码,程序代码可以看出一个程序员的素质和修养,程序就像一个作品,有素质有修养的程序员的作品 必然是一图精美的图画,一首美妙的歌曲,一本赏心悦目的小说。
我看过许多程序,没有注释,没有缩进,胡乱命名的变量名,等等,等等,我把 这种人统称为没有修养的程序,这种程序员,是在做创造性的工作吗?不,完全就是在搞破坏,他们与其说是在编程,还不如说是在对源程序进行“加密”,这种程 序员,见一个就应该开除一个,因为他编的程序所创造的价值,远远小于需要在上面进行维护的价值。
程序员应该有程序员的修养,那怕再累,再没时间,也要对自己的程序负责。
我 宁可要那种动作慢,技术一般,但有良好的写程序风格的程序员,也不要那种技术强、动作快的“搞破坏”的程序员。
有句话叫“字如其人”,我想从程序上也能看 出一个程序员的优劣。
因为,程序是程序员的作品,作品的好坏直截关系到程序员的声誉和素质。
而“修养”好的程序员一定能做出好的程序和软件。
有个成语叫“独具匠心”,意思是做什么都要做得很专业,很用心,如果你要做一个“匠”,也就是造诣高深的人,那么,从一件很简单的作品上就能看出你有没有“匠”的特性,我觉得做一个程序员不难,但要做一个“程序匠”就不简单了。
编程序很简单,但编出有质量的程序就难了。
我在这里不讨论过深的技术,我只想在一些容易让人忽略的东西上说一说,虽然这些东西可能很细微,但如果你不注意这些细微之处的话,那么他将会极大的影响你的整个软件质量,以及整个软件程的实施,所谓“千里之堤,毁于蚁穴”。
“细微之处见真功”,真正能体现一个程序的功底恰恰在这些细微之处。
这就是程序员的——编程修养。
我总结了在用 C/C语言(主要是 C 语言)进行程序写作上的三十二个“修养”,通过这些,你可以写出质量高的程序,同时也会让看你程序的人渍渍称道,那些看过你程序的人一定会说:“这个人的编程修养不错”。
———————————————————————— 01、版权和版本 02、缩进、空格、换行、空行、对齐 03、程序注释 04、函数的inout参数 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、和ampamp的语句执行顺序 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个空格。
(最好用4个空格)lt--由网友vector_3d 提醒改正ii 空格。
空格能给程序代来什么损失吗?没有,有效的利用空格可以让你的程序读进来更加赏心悦目。
而不一堆表达式挤在一起。
看看下面的代码: haha128keytabPtr-gtsize ha ha 128 key tabPtr-gtsize 有空格和没有空格的感觉不一样吧。
一般来说,语句中要在各个操作符间加空格,函数调用时,要以各个参数间加空格。
如下面这种加空格的和不加的:if hProcOpenProcessPROCESS_ALL_ACCESSFALSEpidNULL if hProc OpenProcessPROCESS_ALL_ACCESS FALSE pid NULL iii 换行。
不要把语句都写在一行上,这样很不好。
如: fori0iltleni ifailt0aigt9ampampailtaaigtzbreak 我拷,这种即无空格,又无换行的程序在写什么啊?加上空格和换行吧。
for i0 iltlen i if ai lt 0 ai gt 9 ampamp ai lt a ai gt z break 好多了吧?有时候,函数参数多的时候,最好也换行,如: CreateProcess NULL cmdbuf NULL NULL bInhH dwCrtFlags envbuf NULL ampsiStartInfo ampprInfo 条件语句也应该在必要时换行: if ch gt 0 ch lt 9 ch gt a ch lt z ch gt A ch lt Z iv 空行。
不要不加空行,空行可以区分不同的程序块,程序块间,最好加上空行。
如: HANDLE hProcess PROCESS_T procInfo / open the process handle / ifhProcess OpenProcessPROCESS_ALL_ACCESS FALSE pid NULL return LSE_MISC_SYS memsetampprocInfo 0 sizeofprocInfo procInfo.idProc pid procInfo.hdProc hProcess procInfo.misc MSCAVA_PROC return0v 对齐。
用 TAB 键对齐你的一些变量的声明或注释,一样会让你的程序好看一些。
如:typedef struct _pt_man_t_ int numProc / Number of processes / int maxProc / Max Number of processes / int numEvnt / Number of events / int maxEvnt / Max Number of events / HANDLE pHndEvnt / Array of events / DWORD timeout / Time out interval / HANDLE hPipe / Namedpipe / TCHAR usrMAXUSR/ User name of the process / int numMsg / Number of Message / int MsgMAXMSG/ Space for intro process communicate / PT_MAN_T怎么样?感觉不错吧。
这里主要讲述了如果写出让人赏心
上一篇:
C语言课程设计.简易计算器.报告
下一篇:
那些令你为之触动的好句子,感慨万分