|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 多言数穷 于 2019-12-27 10:18 编辑 / ^$ h$ W! j' G8 ^3 s. g9 ~/ w
1 b2 w O" M" m( R3 {. v/ { ?0.1前言
|3 b% P( U& H! P+ g2 [0 U2 O为提高产品代码质量,指导广大软件开发人员编写出简洁、可维护、可靠、可测试、高效、可移植的
. d4 P$ q! Z8 E5 ]. n代码,编程规范修订工作组分析、总结了我司的各种典型编码问题,并参考了业界编程规范近年来的 y+ n' v4 F# P1 U6 y
成果,重新对我司1999年版编程规范进行了梳理、优化、刷新,编写了本规范。, x$ \% r' y' Q$ v) e
本规范将分为完整版和精简版,完整版将包括更多的样例、规范的解释以及参考材料(what & why) , & U; ^- Z( e; ]( }; E
而精简版将只包含规则部分(what)以便查阅。% W. _- F) p) }* [
在本规范的最后,列出了一些业界比较优秀的编程规范,作为延伸阅读参考材料。
: ?: F* A& b8 E' Z$ {, s0.2代码总体原则
& e6 s1 I9 R6 b4 ]' K- \1、清晰第一
3 j8 S. x3 Y. E* w% y( \清晰性是易于维护、易于1构的程序必需具备的特征。代码首先是给人读的,好的代码应当可以像文6 ]* w& c7 N; @9 _# e, X
章- -样发声朗诵出来。
- M4 p9 B. S& U4 A0 ]5 C z! J3 j# y目前软件维护期成本占整个生命周期成本的40% ~90%。根据业界经验,维护期变更代码的成本,小型系
$ { K2 P0 W* l! j* Z- I. D* h* N统是开发期的5倍,大型系统(100万行代码以上)可以达到100倍。业界的调查指出,开发组平均大约
2 n I: m$ |1 n1 g X; K9 {$ U一半的人力用于弥补过去的错误,而不是添加新的功能来帮助公司提高竞争力。
4 q- ?- A8 X/ n) s6 m“程序必须为阅读它的人而编写,只是顺便用于机器执行。”.一Harold Abelson和Gerald Jay, ]9 {1 L L9 O
Sussman
% q1 n( N: B1 ^9 F1 N“编写程序应该以人为本,计算机第二。”一-Steve McConnell
% c2 h3 Q+ n9 l% e本规范通过后文中的原则(如头优秀的代码可以自我解释,不通过注释即可轻易读懂/头文件中适合放4 y2 Q0 p; K6 \7 |
置接口的声明,不适合放置实现/除了常见的通用缩写以外,不使用单词缩写,不得使用汉语拼音)、
8 ~0 Q8 z; e. _8 S0 Q9 m* d规则(如防止局部变量与全局变量同名)等说明清晰的重要性。
0 J" P7 R, m7 c8 X- I" @* D' H7 t- -般情况下,代码的可阅读性高于性能,只有确定性能是瓶颈时,才应该主动优化。0 z7 j( a/ }9 \6 t% O& A _, R( d
2、简洁为美
: x% b* b* f: K简洁就是易于理解并且易于实现。代码越长越难以看懂,也就越容易在修改时引入错误。写的代码越
5 a/ E& ]- ?1 o5 ?. D多,意味着出错的地方越多,也就意味着代码的可靠性越低。因此,我们提倡大家通过编写简洁明了* v# k5 ~( r0 H0 f$ t* V
的代码来提升代码可靠性。
* E( j# ~" H/ O! Y废弃的代码(没有被调用的函数和全局变量)要及时清除,重复代码应该尽可能提炼成函数。7 v+ ^5 C9 R& Y8 i
本规范通过后文中的原则(如文件应当职责单- -/-一个函数仅完成一-件功能) 、规则(重复代码应该尽
( {" P; p: j, B& s6 t/ H3 t6 K! K可能提炼成函数/避免函数过长,新增函数不超过50行)等说明简洁的重要性。" e1 _" ^9 ^9 u+ j! i1 N
|
|