|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 多言数穷 于 2019-12-27 10:18 编辑
' c+ Z; b" f5 p' V8 B4 k( |, L4 I. m/ |
0.1前言
- @6 I% b* G; l8 F+ M为提高产品代码质量,指导广大软件开发人员编写出简洁、可维护、可靠、可测试、高效、可移植的
9 K- ^2 f0 m; b& A+ A3 F代码,编程规范修订工作组分析、总结了我司的各种典型编码问题,并参考了业界编程规范近年来的
+ B( l. @ T0 t5 r2 U: a& h成果,重新对我司1999年版编程规范进行了梳理、优化、刷新,编写了本规范。" ?) G3 d3 Q% @
本规范将分为完整版和精简版,完整版将包括更多的样例、规范的解释以及参考材料(what & why) , $ Q0 r7 \1 r+ e) n! f
而精简版将只包含规则部分(what)以便查阅。* e+ F0 l( n, c$ P, R6 [
在本规范的最后,列出了一些业界比较优秀的编程规范,作为延伸阅读参考材料。
7 F3 ~" o5 h! m6 \0.2代码总体原则
e& T& y; G; k: z4 Y! F; c A1、清晰第一
# ]; t; Q/ T/ k3 B. D0 d清晰性是易于维护、易于1构的程序必需具备的特征。代码首先是给人读的,好的代码应当可以像文* [" |% A8 R% Y4 H- z- c
章- -样发声朗诵出来。7 Q2 c/ P2 A- ~' t6 \' V+ ]
目前软件维护期成本占整个生命周期成本的40% ~90%。根据业界经验,维护期变更代码的成本,小型系9 L8 {5 }2 _/ L; w8 U/ J
统是开发期的5倍,大型系统(100万行代码以上)可以达到100倍。业界的调查指出,开发组平均大约
( v" S: v: W5 g( I一半的人力用于弥补过去的错误,而不是添加新的功能来帮助公司提高竞争力。
* F* ~0 n7 F, j8 {9 ^, C- G“程序必须为阅读它的人而编写,只是顺便用于机器执行。”.一Harold Abelson和Gerald Jay w- B8 i7 V# ]
Sussman
- Q6 x, V% W. d+ J! |- L“编写程序应该以人为本,计算机第二。”一-Steve McConnell0 k& O+ ` B0 m/ ? r1 A8 f' I
本规范通过后文中的原则(如头优秀的代码可以自我解释,不通过注释即可轻易读懂/头文件中适合放
( V' F1 M/ @- B7 A. p" G, J置接口的声明,不适合放置实现/除了常见的通用缩写以外,不使用单词缩写,不得使用汉语拼音)、' c3 i0 M7 J. F/ s1 P! m# J% v
规则(如防止局部变量与全局变量同名)等说明清晰的重要性。4 h& f9 z- M: s5 `1 k3 b
- -般情况下,代码的可阅读性高于性能,只有确定性能是瓶颈时,才应该主动优化。, h8 q' l! o; @2 _# Y! E
2、简洁为美6 I4 `+ n0 M7 l; e" I; n
简洁就是易于理解并且易于实现。代码越长越难以看懂,也就越容易在修改时引入错误。写的代码越" {& A( I5 Y6 s E. P3 N' h# I2 k
多,意味着出错的地方越多,也就意味着代码的可靠性越低。因此,我们提倡大家通过编写简洁明了
7 d" O( y! L( A3 r: H9 F的代码来提升代码可靠性。
8 ^ u; O" T* i: f3 W" o2 I废弃的代码(没有被调用的函数和全局变量)要及时清除,重复代码应该尽可能提炼成函数。. D! O: T9 K/ x: D, x
本规范通过后文中的原则(如文件应当职责单- -/-一个函数仅完成一-件功能) 、规则(重复代码应该尽
3 C& |) l m! V: Q5 w: i可能提炼成函数/避免函数过长,新增函数不超过50行)等说明简洁的重要性。/ i; Y! a/ N( z* M4 D; b) ~
|
|