1. 如何书写出优秀代码
(1)简练。这意味着能用五行代码解决的问题,绝不用十行代码;
(2)可读性强。这说明你的代码应该更能让其他人看懂;要做到可读性强,就得多写注释;
(3)模块化。优秀的代码是由小模块建成大的系统,而这些小模块又由更小的部分来组成;
(4)层次性。高级层访问低级层,低级层不应该知道高级层在干些什么;
(5)设计良好。在开发程序之前,要先花些时间来设计你的程序,因为思考的代价要小于调试;优秀的开发准则是,花一半时间来设计;
(6)高效。程序不但要运行快,而且要节省资源。程序只做它该做的事。
(7)优雅。优雅综合了简练、高效和简明等概念,同时还能让人感到高贵的气质。
(8)清晰。清晰是优秀代码的基本,也是其他要素的品质保证。
清晰的代码,良好的设计,明确的目标,你必须真正地了解到自己在每个步骤所要做的事情。设计是开发的关键,能让自己保持目标。如果不能写出设计,不能向他人解释开发目标,其实说明你连自己在做什么都不知道。
2. 编程规范
理解规范中每一个原则仅仅是开始,进一步需要相信这些规范是编码的最好方法,并且在编程过程中坚持应用。另外,应该在编程过程中坚持遵循这些规法,培养成习惯,这样才能保证开发出干净代码,使开发和维护工作都更简单。从一开始就写干净的代码,可以在程序开发过程中以及持续的维护阶段不断受益。
(1)程序结构清晰,简单易懂,单个函数的程序行数不得超过100行。
(2)打算干什么,要简单,直接了当,代码精简,避免垃圾程序。
(3)尽量使用标准库函数和公共函数。
(4)不要随意定义全局变量,尽量使用局部变量。
(5)使用括号以避免二义性。
(6)可读性第一,效率第二。
(7)保持注释与外码完全一致。
(8)每个源程序文件,都由文件头说明。
(9)主要变量定义或引用时,注释能反映其含义。
(10)常量定义有相应说明。
(11)处理过程的每个阶段都有相关注释说明。
(12)在典型算法前都有注释。
(13)利用缩进来显示程序的逻辑结构,缩进量一致并以Tab键为单位,定义Tab为6个字节。
(14)循环、分支层次不要超过五层。
(15)注释可以与语句在同一行,也可以在上行。
(16)空行和空白字符也是一种特殊注释。
(17)一目了然的语句不加注释。
(18)注释的作用范围可以为:定义、引用、条件分支以及一段代码。
(19)注释行数应占总行数的1/5~1/3。
(20)禁止出现两条等价的支路。
(21)用case实习多路分支。
(22)避免从循环引出多个出口。
(23)函数只有一个出口。
(24)不使用条件赋值语句。
(25)避免不必要的分支。
(26)不要轻易用条件分支去替换逻辑表达式。
(27)程序首先是正确,其次是优美。
(28)无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查。
(29)改一个错误时可能产生新的错误,因此在修改前首先考虑对其他程序的影响。
(30)所有变量在调用前必须被初始化。
(31)对所有的用户输入,必须进行合法性检查。
(32)不要比较浮点数的相等。
(33)程序与环境或状态发生关系时,必须主动去处理发生的意外事件,如文件能否逻辑锁定、打印机是否联机等。
(34)单元测试也是编程的一部分,提交联调测试的程序必须通过单元测试。
(35)重复使用的完成相对独立功能的算法或代码应抽象为公共控件或类。
(36)公告控件或类应考虑面向对象思想,减少外界联系,考虑独立性或封装性。