长文总结C/C++编码准则

对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。
我认为好的程序员应该有以下几方面的素质:
1、有专研精神,勤学善问、举一反三。
2、积极向上的态度,有创造性思维。
3、与人积极交流沟通的能力,有团队精神。
4、谦虚谨慎,戒骄戒燥。
5、写出的代码质量高。 包括:代码的稳定、易读、规范、易维护、专业。
这些都是程序员的修养,这里我想谈谈“编程修养”,也就是上述中的第5点。 我觉得,如果我要了解一个作者,我会看他所写的小说,如果我要了解一个画家,我会看他所画的图画,如果我要了解一个工人,我会看他所做出来的产品。
同样,如果我要了解一个程序员,我想首先我最想看的就是他的程序代码,程序代码可以看出一个程序员的素质和修养,程序就像一个作品,有素质有修养的程序员的作品必然是一图精美的图画,一首美妙的歌曲,一本赏心悦目的小说。
我看过许多程序,没有注释,没有缩进,胡乱命名的变量名,等等,等等,我把这种人统称为没有修养的程序,这种程序员,是在做创造性的工作吗? 不,完全就是在搞破坏,他们与其说是在编程,还不如说是在对源程序进行“加密”,这种程序员,见一个就应该开除一个,因为他编的程序所创造的价值,远远小于需要在上面进行维护的价值。
程序员应该有程序员的修养,那怕再累,再没时间,也要对自己的程序负责。 我宁可要那种动作慢,技术一般,但有良好的写程序风格的程序员,也不要那种技术强、动作快的“搞破坏”的程序员。
有句话叫“字如其人”,我想从程序上也能看出一个程序员的优劣。 因为,程序是程序员的作品,作品的好坏直接关系到程序员的声誉和素质。 而“修养”好的程序员一定能做出好的程序和软件。
有个成语叫“独具匠心”,意思是做什么都要做得很专业,很用心,如果你要做一个“匠”,也就是造诣高深的人,那么,从一件很简单的作品上就能看出你有没有“匠”的特性,我觉得做一个程序员不难,但要做一个“程序匠”就不简单了。 编程序很简单,但编出有质量的程序就难了。
我在这里不讨论过深的技术,我只想在一些容易让人忽略的东西上说一说,虽然这些东西可能很细微,但如果你不注意这些细微之处的话,那么他将会极大的影响你的整个软件质量,以及整个软件程的实施,所谓“千里之堤,毁于蚁穴”。
“细微之处见真功”,真正能体现一个程序的功底恰恰在这些细微之处。
这就是程序员的——编程修养。 我总结了在用c/c++语言(主要是c语言)进行程序写作上的三十二个“修养”,通过这些,你可以写出质量高的程序,同时也会让看你程序的人渍渍称道,那些看过你程序的人一定会说:“这个人的编程修养不错”。
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) 空格
空格能给程序带来什么损失吗? 没有,有效的利用空格可以让你的程序读进来更加赏心悦目。 而不一堆表达式挤在一起。 看看下面的代码:


应用于变压器油中气体检测的方法
关于新一代私有云产品kubernetes的微服务架构
一个简单的NMOS 驱动电路设计
边缘人工智能是什么 边缘人工智能和人工智能的区别
李莹:小度要做「AI+智能设备」创新的代名词
长文总结C/C++编码准则
工业生产中使用边缘计算网关的好处都有哪些
浅谈无刷电机
三行代码完成AI模型的部署!
压电粘滑驱动原理及其在压电马达平台中的应用
!!销售/收购!HP6812B HP6675A变频电源 HP
苹果预计在2022年停止使用英特尔组件
何为DID?与普通的LCD有何不同?
半导体激光器老化设备-COS老化设备-激光器高低温老化设备-恒流恒温老化设备:
利用红外线测距或激光测距的工作原理是怎样的
SMT贴片加工中焊点为何会有光泽度不够的现象
视频监控系统可以成为提高利润的强大系统
多面手:美国全能军用机器人诞生
工业革命继续前行,生活将更智能、更绿色、更健康
瑞萨电子成为首家获得“最佳合作伙伴奖”“科技发展贡献奖”等三项大奖的松下供应商