1 / 15
文档名称:

编程及编程规范.ppt

格式:ppt   页数:15页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

编程及编程规范.ppt

上传人:实用文库 2015/4/15 文件大小:0 KB

下载得到文件列表

编程及编程规范.ppt

文档介绍

文档介绍:高质量C++/C 编程指南
林锐
前言
软件质量是被大多数程序员挂在嘴上而不是放在心上的东西! 除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌:“哇!我以前捏造的C++/C 程序怎么会有那么多的毛病?”别难过,作者只不过比你早几年、多几次惊慌而已。请花一两个小时认真阅读这本百页经书,你将会获益匪浅,这是前面N-1 个读者的 建议。
一、编程老手与高手的误区 自从计算机问世以来,程序设计就成了令人羡慕的职业,程序员在受人宠爱之后容易发展成为毛病特多却常能自我臭美的群体。 上流传的“真正”的程序员据说是这样的: (1) 真正的程序员没有进度表,只有讨好领导的马屁精才有进度表,真正的程序员会让领导提心吊胆。 (2) 真正的程序员不写使用说明书,用户应当自己去猜想程序的功能。
(3) 真正的程序员几乎不写代码的注释,如果注释很难写,它理所当然也很难读。 (4) 真正的程序员不画流程图,原始人和文盲才会干这事。 (5) 真正的程序员不看参考手册,新手和胆小鬼才会看。 (6) 真正的程序员不写文档也不需要文档,只有看不懂程序的笨蛋才用文档。 (7) 真正的程序员认为自己比用户更明白用户需要什么。 (8) 真正的程序员不接受团队开发的理念,除非他自己是头头。
(9) 真正的程序员的程序不会在第一次就正确运行,但是他们愿意守着机器进行若干个 30 小时的调试改错。
(10) 真正的程序员不会在上午9:00 到下午5:00 之间工作,如果你看到他在上午9:00 工 作,这表明他从昨晚一直干到现在。 …… 具备上述特征越多,越显得水平高,资格老。所以别奇怪,程序员的很多缺点竟然可以被当作优点来欣赏。就象在武侠小说中,那些独来独往、不受约束且带点邪气的高手最令人崇拜。我曾经也这样信奉,并且希望自己成为那样的“真正”的程序员,结果没有得到好下场。
我从读大学到博士毕业十年来一直勤奋好学,累计编写了数十万行C++/C 代码。有这样的苦劳和疲劳,我应该称得上是编程老手了吧? 我开发的软件都与科研相关(集成电路CAD 和3D 图形学领域),动辄数万行程序,技术复杂,难度颇高。这些软件频频获奖,有一个软件获得首届中国大学生电脑大赛软件展示一等奖。在1995 年开发的一套图形软件库到2000 年还有人买。罗列出这些“业绩”,可以说明我算得上是编程高手了吧? 可惜这种个人感觉不等于事实。
读博期间我曾用一年时间开发了一个近10 万行C++代码的3D 图形软件产品,我内心得意表面谦虚地向一位真正的软件高手请教。他虽然从未涉足过3D 图形领域,却在几十分钟内指出该软件多处重大设计错误。让人感觉那套软件是用纸糊的华丽衣服,扯一下掉一块,戳一下破个洞。我目瞪口呆地意识到这套软件毫无实用价值,一年的心血白化了,并且害死了自己的软件公司。
人的顿悟通常发生在最心痛的时刻,在沮丧和心痛之后,我作了深刻反省,“面壁”半年,重新温****软件设计的基础知识。补修“内功”之后,又觉得腰板硬了起来。博士毕业前半年,我曾到微软中国研究院找工作,接受微软公司一位资深软件工程师的面试。他让我写函数strcpy 的代码。太容易了吧? 错!
这么一个小不点的函数,他从三个方面考查: (1)编程风格; (2)出错处理; (3)算法复杂度分析(用于提高性能)。
在大学里从来没有人如此严格地考查过我的程序。我化了半个小时,修改了数次, 他还不尽满意,让我回家好好琢磨。我精神抖擞地进“考场”,大汗淋漓地出“考场”。这“高手”当得也太窝囊了。我又好好地反省了一次。
我把反省后的心得体会写成文章放在网上传阅,引起了不少软件开发人员的共鸣。我因此有幸和国产大型IT 企业如华为、上海贝尔、中兴等公司的同志们广泛交流。大家认为提高质量与生产率是软件工程要解决的核心问题。高质量程序设计是非常重要的环节,毕竟软件是靠编程来实现的。 我们心目中的老手们和高手们能否编写出高质量的程序来? 不见得都能!

最近更新

2024年暑假社会实践的心得体会(精选7篇) 12页

音素候选者生成器的研究的开题报告 2页

2024年暑假的作文(汇编15篇) 16页

面齿轮单面啮合测量仪的研制的开题报告 2页

诗歌鉴赏题解析汇编课件 38页

面向虚拟超市的语义交互的设计与实现中期报告.. 2页

2024年暑假安全心得体会 6页

财务会计基础会计学-04-企业基本经济业务核算.. 116页

费用5-财会会计实务课件 37页

面向微博用户的内容与好友推荐算法研究与实现.. 2页

面向对象的沙化土地GF-1遥感分类技术研究的开.. 2页

2024年景区销售岗位职责(通用8篇) 4页

面向农村市场的移动手机互联网系统的设计与实.. 2页

2024年普通员工个人总结14篇 36页

2024年普通劳动合同书电子版(通用5篇) 14页

非法经营罪研究的开题报告 2页

非圆曲线数控车削编程技术的研究及应用的开题.. 2页

2024年晋升通知集合六篇 4页

青平川东西沟长2油层组沉积相及储层特征研究的.. 2页

青岛有线数字电视增值业务发展战略研究开题报.. 2页

哈师大附中2024届高三第三次模拟考试英语试卷.. 11页

房屋建筑自然灾害综合风险普查工作实施方案 9页

医院培训课件:《压力性损伤的管理》 47页

财产保险公司人伤管理集中管理办法 21页

小学民族团结评选实施方案 5页

电信公司营业班长申报“服务明星”事迹材料 5页

魏书生的教育思想研究 2页

3D包点和值投注表 2页

H8 WIFI 高清1080P移动充电宝摄像机、移动电源.. 14页

人宇特能讲座--张维祥 415页