差劲的程序,不是因为编程技术水平的问题,而是因为没有一个明确的目标。本篇文章节希望能起到抛砖引玉的作用,为大家理清思路,有了明确的目标,才能使自已的程序代码变得更为优秀。
相信在大数软件研发团队中,制定编码规范是一项有着深远意义的事情,在我的团队中也一样,只有严格的要求、统一的标准才能提升团队的整体能力,包括软件质量,开发效率等。
为了降低硬件环境对程序性能的限制,在软件的开发阶段必须对程序进行改良化设计和采用优化和算法;不管是采用什么语言来进行开发,优秀的代码对程序的性能有着很大的影响。
通过建立代码编写规范,形成开发团队编码约定,提高程序的可靠性、可读性、可修改性、可维护性、一致性,保证程序代码的质量,继承软件开发成果,充分利用资源。提高程序的可继承性,使开发人员之间的工作成果可以共享。
优秀的代码所俱备的品质:
- 简练
即结构好、可读性强、设计优秀。能用5行代码解决的问题,绝不用6行代码。要达到这样的效果,必须花费更多的时间和精力来保证,而不是生产令人费解的代码。
- 清晰
需要你写出来的代码更容易被别人看懂,结构清楚明白。多写注释,变量名必需有意义。
- 模块化
优秀的程序是由小模块构建成大模块,大模块构建成更大的系统。
- 层次化
应用运行在框架上,框架运行在系统之上,而系统又运行在硬件之上,这就是层次化。层次化应遵循这样的规则,高级层访问低级层,低级层不应该知道高级层在干什么。
- 高效
程序不但要运行得快,而具还要节省资源。
- 优雅
优雅综合了简练、清晰、高效、等概念。
对于编程来说,最基础的优化就是减少代码的复杂度。简练、清晰、模块化、层次化、高效、优雅等都是久经考验的优化代码的方法,它可以有效地减少代码的复杂度。清晰的代码,良好的设计,是我们的目标。
软件编码要遵循以下原则:
1.遵循开发流程,在设计的指导下进行代码编写。
2.代码的编写以实现设计的功能和性能为目标,要求正确完成设计要求的功能,达到设计的性能。
3.程序具有良好的程序结构,提高程序的封装性好,减低程序的耦合程度。
4.程序可读性强,易于理解;方便调试和测试,可测试性好。
5.易于使用和维护;良好的修改性、扩充性;可重用性强/移植性好。
6.占用资源少,以低代价完成任务。
7.在不降低程序的可读性的情况下,尽量提高代码的执行效率。
一.基本要求:
- 程序结构清析,简单易懂,单个函数代码长度不得超过100行。
- 要简单、直截了当,代码精练。
- 尽量使用标准函数库。
- 尽量使用局部变量,不要随意定义全局变量。
- 函数不能有二义性。
二.可读性要求:
- 可读性等一、效率第二。
- 注释和代码必须一致。
- 每个类的源文件都要有注释。
- 每个函数都要有注释。
- 主要变量在定义和引用时都要有注释。
- 函数体中的每个阶段都要有注释,都要有空行隔开。
- 典型算法都要注释
- 循环和逻辑分支不要超过3层。
- 一目了然的语句不用写注释。
三.结构化要求:
- 不能出现两条等价的分支。
- 用CASE实现多路分支。
- 循环中要避免多个出口。
- 函数只有一个出口。
- 不使用条件赋值语句。
- 避免不必要的分支。
四.正确性和容错性要求:
- 程序首先是正确,其次才是优雅的。
- 为每个自定函数编写测试用例。
- 改一个错误的时候可能为产生新的错误。
- 所有的用户输入,必须进行合法性检查。
- 不要比较浮点数是否相等。
- 为每个业务编写单元测试。
五. 可重用性要求:
- 完成相对独立功能的算法代码应抽象为类或公共函数。
- 公共类或函数要高内聚低偶合。