软件的质量属性
鲁棒 - Solid and Robust Code
简洁 - Maintainable and Simple Code
高效 - Fast Code
简短 - Small Code
共享 - Re-usable Code
可测试 - Testable Code
可移植 - Portable Code
?
集百家之长, 归我所用 - Follow Basic Coding Style
1.代码能够清晰的表达你的思路
2.代码应该具备自解释能力,注释代码别是单纯解释语句,这种注释毫无疑义
3.编码的缩进和排版规范
4.所有的函数和变量应有他人容易理解的名字
5.将Tab键改用为4个空格字符
6.减少单个函数的长度,控制在50-100行以内
7.避免幻数,多使用枚举和常量的定义
?
取个好名字 - Use Naming Conventions
1.采用匈牙利命名法对变量进行命名
2.名字要清晰表达含义,不要怕长
?
凌波微步, 未必摔跤 - Evil goto’s? Maybe Not…
1.goto的使用应该遵循原则,而不是全盘否定
2.不用写高深晦涩的语句,不要一味追求性能忽视代码可读性
3.模式并不是一味正确,特定问题更需要考虑反模式
?
先发制人, 后发制于人- Practice Defensive Coding
1.尽量保持代码的简洁和简单
2.调用其它接口和函数时候首先对返回值进行检查
3.避免有符号/无符号,32位/16位,被零除等误算情况
?
见招拆招, 滴水不漏 - Handle The Error Cases: They Will Occur!
1.通过异常处理机制来保证程序代码的健壮性
2.异常处理中一定要注意资源的释放
3.异常处理要关注日志的详细记录,便于后续BUG分析
4.不用把后台编码或系统异常直接抛给用户
?
熟习剑法刀术, 所向无敌 - Learn Win32 API Seriously
1.Win32 API是微软平台编程根本
2.对系统强大的公用类库的熟悉和整理将事半功倍
?
双手互搏, 无坚不摧 - Test, but don’t stop there
1.如果你没有进行测试,你完成的代码将仅仅是个半成品
2.尽可能多的对自己的代码进行测试
3.编码人员应该更专注于百盒测试和单元测试
4.要善于使用JUnit,NUnit,PureCoverage,Compuware,NCover等测试工具
5.相互间的Review和走查是对代码可维护性的重要测试手段
6.有特殊性能要求时候需要对相关功能或模块单独进行性能测试
?
活用段言 - Use, don’t abuse, assertions
1.断言可以很好的描述假设和不可能的情况
2.断言对程序Debug很有用,可以尽早的发现程序问题
?
草木皆兵, 不可大意 - Avoid Assumptions
1.考虑到用户使用的各种场景
2.不用假设用户会正确输入数据,要做好各种完整性和边界的检验
3.程序中70%左右代码是为了保证这种完整性服务的,正常条件下功能可能30%代码就实现了
?
最高境界, 无招胜有招 - Stop writing so much code
1.一味拷贝粘贴代码就是在制造拷贝BUG,这种代码对系统无任何意义
2.编码过程注意重用,函数级->组件级->系统级
3.通过重构持续改进代码质量,改进自我逻辑思维
?
最后总结下:
1.养成良好编码习惯,你面试的一小段代码可能就足一展现你全部陋习。
2.熟练使用好各种辅助工具,但不要全部依赖工具,最主要是学习分析和设计的思考方式
3.注重单元测试,关注程序性能,可维护性,可测试性是编码技能提升重要手段
4.通过重构使编码过程形成完整闭环的反馈回路,重构能力可以很好体现自己的设计能力
5.养成良好习惯,形成自己的编码过程检查单,多请教老员工可能事半功倍。
本文来源:http://blog.sina.com.cn/u/493a8455010004pz
分享到:
相关推荐
《软件工程思想》是林博士的心血之作,本书以其独特的视角、新颖的构思、风趣的内容为读者揭示了软件开发过程中的诸多奥秘。不同于传统的软件工程教材,本书通过作者亲身经历的故事和案例,将复杂的软件工程原理变得...
除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌:“哇!我以前捏造的C++/C程序怎么会有那么多的毛病?” 别难过,作者只不过比你早几年、多几次惊慌而已。 请花一两个小时认真阅读这本百页经书...
软件配置管理是软件开发过程中至关重要的一环,它涉及到软件项目的各个阶段,确保了代码、文档和其他成果物的完整性和可追踪性。林博士在讲座中强调了配置管理的重要性及其对企业商业利益的影响。 首先,配置管理的...
在上海、北京等发达城市,软件白领的平均年薪约为10万元,但高房价和生活成本使他们仍需为实现小康生活而努力。 - 对于男性软件白领来说,购房、成家的压力尤为显著。初期的经济压力可能导致他们的生活质量降低,...
【软件项目管理】是IT行业中一个至关重要的领域,它涵盖了从商业目标设定到软件产品的开发、团队组建和管理等一系列过程。软件危机,即软件产品质量低、进度延误和成本高昂的问题,一直是困扰整个行业的顽疾。林博士...
C++编程规范.zip(不是林博士的高质量C++编程,是另一本编程规范) 位域 在对齐方式下,CPU的运行效率要快得多 高扇入、合理扇出(小于7) 可重入性是指函数可以被多个任务进程调用需要用PV操作来互斥调用该函数
《林瑞博士C++高质量编程》是一本深受程序员喜爱的经典著作,主要针对C++语言,旨在帮助读者构建高质量、高效且可维护的代码。...通过阅读此书,读者可以提升C++编程技能,写出更高质量、更具可维护性的代码。
设计模式是面向对象设计中的一个重要概念,特别是在20世纪90年代,随着面向对象方法的普及,设计模式应运而生,成为提升代码复用性和可维护性的有力工具。Erich Gamma等人的《设计模式:可复用面向对象软件的基础》...
在操作符两侧添加空格,以及对齐复杂的语句结构,可以使代码更加清晰易读。例如,在赋值语句中,等号两边各有一个空格,可以突出显示操作符,使代码层次分明。 #### 长行拆分 当一行代码过长时,应合理拆分为多行,...
数学模型基于历史数据建立,如代码行数或功能点,适用于数据丰富、经验成熟的机构。而“分解-累计”法则通过将大任务分解成小任务逐个估计,适合于各种项目。\n\n3. 制定项目计划\n在准确估计的基础上,项目经理需要...
林博士可能会分享一些使用调试工具的技巧,以及如何通过算法改进、减少内存消耗等方式提升代码性能。 总的来说,《高质量C/C++ 编程》是一本全面而深入的教程,它不仅教授C/C++语言本身,还涵盖了编程实践中遇到的...
首先,我们要明白高质量的C语言编程不仅仅是写出能够正确运行的代码,更是关于代码的清晰度、可读性、健壮性和性能优化。林锐博士在书中可能会涵盖以下几个关键知识点: 1. **基本语法与规范**:C语言的基础语法是...
《商业目标决定研发之道——软件测试、C++与C编程...通过学习这些内容,我们可以更好地理解如何将商业目标转化为具体的技术行动,如何编写高质量的代码,以及如何创建用户喜爱的软件界面,从而提升整个项目的成功率。