<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8"><meta name="generator" content="pdf2htmlEX"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/css/base.min.css"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/css/fancy.min.css"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/222299/raw.css"><script src="https://csdnimg.cn/release/download_crawler_static/js/compatibility.min.js"></script><script src="https://csdnimg.cn/release/download_crawler_static/js/pdf2htmlEX.min.js"></script><script>try{pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});}catch(e){}</script><title></title></head><body><div id="sidebar" style="display: none"><div id="outline"></div></div><div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/222299/bg1.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0"><span class="fc4 sc0">1</span></div><div class="t m0 x2 h3 y2 ff2 fs1 fc1 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x2 h3 y3 ff2 fs1 fc0 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x3 h4 y4 ff3 fs2 fc1 sc1 ls0 ws0">第</div><div class="t m0 x4 h4 y5 ff3 fs2 fc2 sc2 ls0 ws0">第</div><div class="t m0 x5 h4 y4 ff3 fs2 fc1 sc1 ls0 ws0">七</div><div class="t m0 x6 h4 y5 ff3 fs2 fc2 sc2 ls0 ws0">七</div><div class="t m0 x7 h4 y4 ff3 fs2 fc1 sc1 ls0 ws0">讲</div><div class="t m0 x8 h4 y5 ff3 fs2 fc2 sc2 ls0 ws0">讲</div><div class="t m0 x9 h4 y6 ff3 fs2 fc1 sc1 ls2 ws0">编码风格(</div><div class="t m0 xa h4 y7 ff3 fs2 fc2 sc2 ls2 ws0">编码风格(</div><div class="t m0 xb h5 y6 ff2 fs2 fc1 sc0 ls3 ws1">Coding Style</div><div class="t m0 xc h5 y7 ff2 fs2 fc2 sc0 ls3 ws1">Coding Style</div><div class="t m0 xd h4 y6 ff3 fs2 fc1 sc1 ls0 ws0">)</div><div class="t m0 xe h4 y7 ff3 fs2 fc2 sc2 ls0 ws0">)</div><div class="t m0 xf h6 y8 ff3 fs3 fc0 sc0 ls4 ws0">凌明</div><div class="t m0 x10 h7 y9 ff1 fs3 fc3 sc0 ls5 ws0">trio@seu.edu.cn</div><div class="t m0 x11 h8 ya ff3 fs4 fc0 sc0 ls6 ws0">东南大学国家专用集成电路系统工程技术研究中心</div><div class="t m0 x12 h3 yb ff2 fs1 fc1 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x12 h3 yc ff2 fs1 fc0 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x13 h9 yd ff3 fs5 fc2 sc0 ls0 ws0">目录</div><div class="t m0 x14 ha ye ff3 fs6 fc0 sc3 ls7 ws0">简介及说明</div><div class="t m0 x14 ha yf ff3 fs6 fc0 sc3 ls7 ws0">语言规则</div><div class="t m0 x15 h3 y10 ff2 fs1 fc0 sc0 ls8 ws0">1.<span class="ff3 sc3 ls9">基础</span></div><div class="t m0 x15 h3 y11 ff2 fs1 fc0 sc0 ls8 ws0">2.<span class="ff3 sc3 ls9">数据</span></div><div class="t m0 x15 h3 y12 ff2 fs1 fc0 sc0 ls8 ws0">3.<span class="ff3 sc3 ls9">说明与表达式</span></div><div class="t m0 x15 h3 y13 ff2 fs1 fc0 sc0 ls8 ws0">4.<span class="ff3 sc3 ls9">函数</span></div><div class="t m0 x15 h3 y14 ff2 fs1 fc0 sc0 ls8 ws0">5.<span class="ff3 sc3 ls9">内存及资源</span></div><div class="t m0 x15 h3 y15 ff2 fs1 fc0 sc0 ls8 ws0">6.<span class="ff3 sc3 ls9">源文件</span></div><div class="t m0 x14 ha y16 ff3 fs6 fc0 sc3 ls7 ws0">风格指导</div><div class="t m0 x15 h3 y17 ff2 fs1 fc0 sc0 ls8 ws0">7.<span class="ff3 sc3 ls9">程序书写</span></div><div class="t m0 x15 h3 y18 ff2 fs1 fc0 sc0 ls8 ws0">8.<span class="ff3 sc3 ls9">命名</span></div><div class="t m0 x15 h3 y19 ff2 fs1 fc0 sc0 ls8 ws0">9.<span class="ff3 sc3 ls9">文档</span></div></div><div class="pi" data-data='{"ctm":[1.878669,0.000000,0.000000,1.878669,-78.904110,-152.172211]}'></div></div></body></html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/222299/bg2.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0"><span class="fc4 sc0">2</span></div><div class="t m0 x12 h3 y2 ff2 fs1 fc1 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x12 h3 y3 ff2 fs1 fc0 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x16 hb y1a ff3 fs7 fc2 sc2 lsa ws0">简介及说明</div><div class="t m0 x17 h6 y1b ff3 fs3 fc0 sc3 lsb ws0">正确性</div><div class="t m0 x17 h6 y1c ff3 fs3 fc0 sc3 lsc ws0">易维护性</div><div class="t m0 x17 h6 y1d ff3 fs3 fc0 sc3 lsc ws0">易移植性</div><div class="t m0 x17 h6 y1e ff3 fs3 fc0 sc3 lsd ws0">代码的高效性</div><div class="t m0 x12 h3 yb ff2 fs1 fc1 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x12 h3 yc ff2 fs1 fc0 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x14 hc y1f ff4 fs1 fc1 sc0 lse ws2">float b, c[10]<span class="_ _0"></span>;</div><div class="t m0 x14 hc y20 ff4 fs1 fc5 sc0 lse ws2">float b, c[10]<span class="_ _0"></span>;</div><div class="t m0 x14 hc y21 ff4 fs1 fc1 sc0 lsf ws0">void </div><div class="t m0 x14 hc y22 ff4 fs1 fc5 sc0 lsf ws0">void </div><div class="t m0 x18 hc y21 ff4 fs1 fc1 sc0 ls10 ws0">abc(void</div><div class="t m0 x18 hc y22 ff4 fs1 fc5 sc0 ls10 ws0">abc(void</div><div class="t m0 x19 hc y21 ff4 fs1 fc1 sc0 ls0 ws0">)</div><div class="t m0 x19 hc y22 ff4 fs1 fc5 sc0 ls0 ws0">)</div><div class="t m0 x1a hc y23 ff4 fs1 fc1 sc0 ls11 ws0">{float </div><div class="t m0 x1a hc y24 ff4 fs1 fc5 sc0 ls11 ws0">{float </div><div class="t m0 x1b hc y23 ff4 fs1 fc1 sc0 ls12 ws0">zongfe<span class="_ _1"></span>n</div><div class="t m0 x1b hc y24 ff4 fs1 fc5 sc0 ls12 ws0">zongfe<span class="_ _1"></span>n</div><div class="t m0 x1c hc y23 ff4 fs1 fc1 sc0 ls13 ws3">= 0; </div><div class="t m0 x1c hc y24 ff4 fs1 fc5 sc0 ls13 ws3">= 0; </div><div class="t m0 x13 hc y23 ff4 fs1 fc1 sc0 ls14 ws0">int</div><div class="t m0 x13 hc y24 ff4 fs1 fc5 sc0 ls14 ws0">int</div><div class="t m0 x1d hc y23 ff4 fs1 fc1 sc0 ls15 ws0">d; </div><div class="t m0 x1d hc y24 ff4 fs1 fc5 sc0 ls15 ws0">d; </div><div class="t m0 x1a hc y25 ff4 fs1 fc1 sc0 ls16 ws4">for( d = 0; d < 10; d ++){</div><div class="t m0 x1a hc y26 ff4 fs1 fc5 sc0 ls16 ws4">for( d = 0; d < 10; d ++){</div><div class="t m0 x1a hc y27 ff4 fs1 fc1 sc0 ls8 ws5">if(c[d] > 0)</div><div class="t m0 x1a hc y28 ff4 fs1 fc5 sc0 ls8 ws5">if(c[d] > 0)</div><div class="t m0 x1a hc y29 ff4 fs1 fc1 sc0 ls17 ws0">zongfen</div><div class="t m0 x1a hc y2a ff4 fs1 fc5 sc0 ls17 ws0">zongfen</div><div class="t m0 x1e hc y29 ff4 fs1 fc1 sc0 ls18 ws6">+= c[b];</div><div class="t m0 x1e hc y2a ff4 fs1 fc5 sc0 ls18 ws6">+= c[b];</div><div class="t m0 x1a hc y2b ff4 fs1 fc1 sc0 ls8 ws7">b = </div><div class="t m0 x1a hc y2c ff4 fs1 fc5 sc0 ls8 ws7">b = </div><div class="t m0 x1f hc y2b ff4 fs1 fc1 sc0 ls19 ws0">zongf<span class="_ _1"></span>en</div><div class="t m0 x1f hc y2c ff4 fs1 fc5 sc0 ls19 ws0">zongf<span class="_ _1"></span>en</div><div class="t m0 x20 hc y2b ff4 fs1 fc1 sc0 ls1a ws0">/10;</div><div class="t m0 x20 hc y2c ff4 fs1 fc5 sc0 ls1a ws0">/10;</div><div class="t m0 x1a hc y2d ff4 fs1 fc1 sc0 ls0 ws0">}</div><div class="t m0 x1a hc y2e ff4 fs1 fc5 sc0 ls0 ws0">}</div><div class="t m0 x21 hd y2f ff3 fs1 fc0 sc0 ls0 ws0">这段程序在做什么?</div><div class="t m0 x21 hd y30 ff3 fs1 fc0 sc0 ls0 ws0">这段程序是否有错误?</div><div class="t m0 x21 hd y31 ff3 fs1 fc0 sc0 ls0 ws0">这程序中存在哪些不良的书写风格?<span class="_ _0"></span>它们可能会引起什么后果?</div><div class="t m0 xa ha y32 ff3 fs6 fc0 sc3 ls7 ws0">程序实例</div></div><div class="pi" data-data='{"ctm":[1.878669,0.000000,0.000000,1.878669,-78.904110,-152.172211]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/222299/bg3.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0"><span class="fc4 sc0">3</span></div><div class="t m0 x12 h3 y2 ff2 fs1 fc1 sc0 ls1 ws0"><span class="fc4 sc0">w</span><span class="fc4 sc0">w</span><span class="fc4 sc0">w</span><span class="fc4 sc0">.</span><span class="fc4 sc0">c</span><span class="fc4 sc0">nas</span><span class="fc4 sc0">i</span><span class="fc4 sc0">c.</span><span class="_ _0"></span><span class="fc4 sc0">com</span></div><div class="t m0 x12 h3 y3 ff2 fs1 fc0 sc0 ls1 ws0"><span class="fc4 sc0">w</span><span class="fc4 sc0">w</span><span class="fc4 sc0">w</span><span class="fc4 sc0">.</span><span class="fc4 sc0">c</span><span class="fc4 sc0">nas</span><span class="fc4 sc0">i</span><span class="fc4 sc0">c.</span><span class="_ _0"></span><span class="fc4 sc0">com</span></div><div class="t m0 x22 he y33 ff5 fs1 fc5 sc0 ls1b ws8">float b, c[10]; </div><div class="t m0 x22 he y34 ff5 fs1 fc5 sc0 ls1c ws9">void abc(<span class="_ _0"></span>void)</div><div class="t m0 x22 he y35 ff5 fs1 fc5 sc0 ls1d wsa">{float zo<span class="_ _1"></span>ngfen<span class="_"> </span>= 0; in<span class="_ _1"></span>t<span class="_"> </span>d;</div><div class="t m0 x22 he y36 ff5 fs1 fc5 sc0 ls10 wsb">for( d = 0; d < 10;<span class="_ _0"></span> d ++){</div><div class="t m0 x22 he y37 ff5 fs1 fc5 sc0 ls1e wsc">if(c[d] > 0)</div><div class="t m0 x22 he y38 ff5 fs1 fc5 sc0 ls1f wsd">zongfen<span class="_"> </span>+= c[<span class="_ _1"></span>b];</div><div class="t m0 x22 he y39 ff5 fs1 fc5 sc0 ls1f wse">b = zongfen<span class="_"> </span>/10;}</div><div class="t m0 x23 hf y3a ff4 fs8 fc5 sc0 ls20 wsf">#define STUDENT_NUM 10 //<span class="ff3 sc4 ls21 ws0">学生总数</span></div><div class="t m0 x23 hf y3b ff4 fs8 fc5 sc0 ls22 ws10">float fAvgScore; <span class="_ _0"></span> <span class="_ _0"></span> <span class="_ _0"></span> //<span class="_ _0"></span><span class="ff3 sc4 ls21 ws0">平均分</span></div><div class="t m0 x23 hf y3c ff4 fs8 fc5 sc0 ls0 ws11">float fScore[STUDENT_NUM<span class="_"> </span>]; //<span class="ff3 sc4 ls21 ws0">分数</span></div><div class="t m0 x23 hf y3d ff4 fs8 fc5 sc0 ls23 ws0">/*<span class="ff3 sc4 ls21">平均分计算函数</span><span class="ls0">*/</span></div><div class="t m0 x23 hf y3e ff4 fs8 fc5 sc0 ls0 ws11">void AvgScore(void)</div><div class="t m0 x23 hf y3f ff4 fs8 fc5 sc0 ls0 ws0">{</div><div class="t m0 x24 hf y40 ff4 fs8 fc5 sc0 ls24 ws0">int<span class="_"> </span>i;</div><div class="t m0 x24 hf y41 ff4 fs8 fc5 sc0 ls25 ws12">float total_score = 0;<span class="_ _0"></span> <span class="_ _0"></span> //<span class="_ _0"></span><span class="ff3 sc4 ls21 ws0">总分</span></div><div class="t m0 x24 hf y42 ff4 fs8 fc5 sc0 ls26 ws13">for(i = 0; i < STUDENT_NUM; i++ )</div><div class="t m0 x25 hf y43 ff4 fs8 fc5 sc0 ls27 ws14">{ <span class="_ _0"></span> <span class="_ _0"></span> <span class="_ _0"></span> <span class="_ _0"></span> //<span class="ff3 sc4 ls21 ws0">累加计算总分</span></div><div class="t m0 x26 hf y44 ff4 fs8 fc5 sc0 ls28 ws15">if(fScore[i] > 0) <span class="_ _0"></span> //<span class="ff3 sc4 ls21 ws0">遇到负分</span><span class="ls0 ws0">,<span class="ff3 sc4 ls21">记为</span>0<span class="ff3 sc4">分</span></span></div><div class="t m0 x27 hf y45 ff4 fs8 fc5 sc0 ls29 ws16">total_score += fS<span class="_ _0"></span>core[i];</div><div class="t m0 x25 hf y46 ff4 fs8 fc5 sc0 ls27 ws14">} <span class="_ _0"></span> <span class="_ _0"></span> <span class="_ _0"></span> <span class="_ _0"></span> //<span class="ff3 sc4 ls21 ws0">计算平均分</span></div><div class="t m0 x25 hf y47 ff4 fs8 fc5 sc0 ls2a ws0">if(STUDENT_NUM<span class="_"> </span>>0)</div><div class="t m0 x26 hf y48 ff4 fs8 fc5 sc0 ls2b ws17">fAvgScore<span class="_"> </span>= total_score / STUDENT_NUM;</div><div class="t m0 x23 hf y49 ff4 fs8 fc5 sc0 ls0 ws0">}</div><div class="t m0 x28 hd y4a ff3 fs1 fc0 sc0 ls0 ws0">有了哪些改进?</div><div class="t m0 x28 hd y4b ff3 fs1 fc0 sc0 ls0 ws0">你认为还有什么地方需要改</div><div class="t m0 x28 hd y4c ff3 fs1 fc0 sc0 ls0 ws0">进?</div><div class="t m0 x12 h3 yb ff2 fs1 fc1 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x12 h3 yc ff2 fs1 fc0 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x29 hb y4d ff3 fs7 fc2 sc2 lsa ws0">语言规则-基础</div><div class="t m0 x17 ha y4e ff3 fs6 fc0 sc0 ls0 ws0">编写清晰表达设计思路和意图的代码</div><div class="t m0 x17 ha y4f ff3 fs6 fc0 sc0 ls0 ws0">针对易读来优化代码<span class="ff1 ls2c">, </span>效率的优化留给编译器去做<span class="ff1">.</span></div><div class="t m0 x17 ha y50 ff3 fs6 fc0 sc0 ls0 ws0">编写可大声朗读的代码<span class="ff1">.</span></div><div class="t m0 x17 ha y51 ff3 fs6 fc0 sc0 ls0 ws0">利用注释阐述和解释代码<span class="ff1">,</span><span class="ls2d">并进行总结</span><span class="ff1">.</span></div><div class="t m0 x17 ha y52 ff3 fs6 fc0 sc0 ls0 ws0">使用有意义且无歧义的命名方法<span class="ff1">.</span>(推荐使用全英文的命</div><div class="t m0 x17 ha y53 ff3 fs6 fc0 sc0 ls0 ws0">名)</div><div class="t m0 x17 ha y54 ff3 fs6 fc0 sc0 ls0 ws0">尽可能使用标准<span class="ff1 ls2e">C </span>函数<span class="ff1">.</span></div><div class="t m0 x17 ha y55 ff3 fs6 fc0 sc0 ls0 ws0">不要将同样的代码使用三次以上<span class="ff1 ls2c">, </span>编写相应的函数<span class="ff1">.</span></div><div class="t m0 x17 ha y56 ff3 fs6 fc0 sc0 ls0 ws0">让程序自己检查运行中的错误-编写调试代码</div></div><div class="pi" data-data='{"ctm":[1.878669,0.000000,0.000000,1.878669,-78.904110,-152.172211]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/222299/bg4.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0"><span class="fc4 sc0">4</span></div><div class="t m0 x12 h3 y2 ff2 fs1 fc1 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x12 h3 y3 ff2 fs1 fc0 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x29 hb y1a ff3 fs7 fc2 sc2 lsa ws0">语言规则-基础</div><div class="t m0 x2a h10 y57 ff3 fs6 fc0 sc0 ls0 ws0">谨慎使用<span class="ff6">GOTO</span>语句<span class="ff6">.</span></div><div class="t m0 x2a h10 y58 ff3 fs6 fc0 sc0 ls0 ws0">不要修补那些风格差的代码<span class="ff6">,</span>重写他们<span class="ff6">.</span></div><div class="t m0 x2a h10 y59 ff3 fs6 fc0 sc0 ls0 ws0">不要比较两个浮点数是否相等<span class="ff6">.</span></div><div class="t m0 x2a h10 y5a ff3 fs6 fc0 sc0 ls0 ws0">优化代码或调试一旧版本前<span class="ff6">,</span>备份并记录所做的修改<span class="ff6">.</span></div><div class="t m0 x2a h10 y5b ff3 fs6 fc0 sc0 ls0 ws0">避免机器及编译器相关的代码<span class="ff6">,</span>如必需<span class="ff6">,</span>隔离相关代码<span class="ff6">.</span></div><div class="t m0 x2a h10 y5c ff3 fs6 fc0 sc0 ls0 ws0">将编译器设为最高警告水平<span class="ff6">,</span>把每一个警告视为错误来</div><div class="t m0 x2a h10 y5d ff3 fs6 fc0 sc0 ls0 ws0">处理<span class="ff6">.</span></div><div class="t m0 x2a ha y5e ff3 fs6 fc0 sc0 ls0 ws0">不要直接在程序中直接书写常量,应该使用常量的宏</div><div class="t m0 x2a ha y5f ff3 fs6 fc0 sc0 ls0 ws0">定义</div><div class="t m0 x12 h3 yb ff2 fs1 fc1 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x12 h3 yc ff2 fs1 fc0 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x2b hb y4d ff3 fs7 fc2 sc2 lsa ws0">语言规则-避免使用</div><div class="t m0 x17 ha y60 ff1 fs6 fc0 sc0 ls2f ws0">#include <span class="ff3 ls0">的头文件没有被引用<span class="ff1">.</span></span></div><div class="t m0 x17 ha y61 ff3 fs6 fc0 sc0 ls0 ws0">在同一个编译单元内<span class="ff1">(</span>一般是一<span class="ff1">C</span>文件<span class="ff1">)</span>重复引用同一头文</div><div class="t m0 x17 ha y62 ff3 fs6 fc0 sc0 ls0 ws0">件<span class="ff1">.</span></div><div class="t m0 x17 ha y63 ff3 fs6 fc0 sc0 ls0 ws0">在头文件内说明却仅仅在一个<span class="ff1">C</span><span class="ls30">文件中引用</span><span class="ff1">.</span></div><div class="t m0 x17 ha y64 ff3 fs6 fc0 sc0 ls0 ws0">全局量仅仅在一个<span class="ff1">C</span><span class="ls30">文件中引用<span class="ff1 ls2c ws18">. (</span></span>应该使用<span class="ff1 ls31">static </span>量<span class="ff1 ls32">).</span></div><div class="t m0 x17 ha y65 ff3 fs6 fc0 sc0 ls0 ws0">在付值中<span class="ff1">,</span>左右两边的数据类型不一样<span class="ff1 ls2c ws18">. (</span><span class="ls2d">如确实必须</span><span class="ff1">,</span><span class="ls33">应该</span></div><div class="t m0 x17 ha y66 ff3 fs6 fc0 sc0 ls0 ws0">显式地进行类型转换<span class="ff1">)</span></div><div class="t m0 x17 ha y67 ff3 fs6 fc0 sc0 ls0 ws0">函数返回指向函数内说明的自动变量的指针<span class="ff1 ls2c ws18">. (</span>应该使用指</div><div class="t m0 x17 ha y68 ff3 fs6 fc0 sc0 ls0 ws0">向<span class="ff1 ls34">static </span><span class="ls2d">变量的指针<span class="ff1 ls32">).</span></span></div><div class="t m0 x17 ha y69 ff3 fs6 fc0 sc0 ls0 ws0">删除<span class="ff1 ls20 ws19">switch case </span>语句中的<span class="ff1 ls35">break</span>语句(除非两个或多个</div><div class="t m0 x17 ha y6a ff1 fs6 fc0 sc0 ls20 ws0">case<span class="ff3 ls34">的处理代码是完全一致的,<span class="_ _2"> </span>这时应该加以注释。)</span></div></div><div class="pi" data-data='{"ctm":[1.878669,0.000000,0.000000,1.878669,-78.904110,-152.172211]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/222299/bg5.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0"><span class="fc4 sc0">5</span></div><div class="t m0 x12 h3 y2 ff2 fs1 fc1 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x12 h3 y3 ff2 fs1 fc0 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x2b hb y1a ff3 fs7 fc2 sc2 lsa ws0">语言规则-避免使用</div><div class="t m0 x17 ha y6b ff3 fs6 fc0 sc0 ls0 ws0">两个不同类型指针间的运算<span class="ff1">.</span></div><div class="t m0 x17 ha y6c ff3 fs6 fc0 sc0 ls0 ws0">隐含的数据类型转换<span class="ff1">.</span></div><div class="t m0 x17 ha y6d ff3 fs6 fc0 sc0 ls0 ws0">隐含的对于变量是否为<span class="ff1">0</span>的测试<span class="ff1 ls31 ws1a">. (</span>比如<span class="ff1 ls2d ws1b">: “if (a = </span></div><div class="t m0 x17 ha y6e ff1 fs6 fc0 sc0 ls30 ws1c">b)”<span class="_"> </span>; <span class="ff3 ls36 ws0">正确的写法是<span class="_ _3"> </span></span><span class="ls37 ws1d">“if ( (a = b ) != 0)”)</span></div><div class="t m0 x17 ha y6f ff3 fs6 fc0 sc0 ls0 ws0">缺少<span class="ff1 ls38">default </span>的<span class="ff1 ls35">switch </span>语句<span class="ff1">.</span></div><div class="t m0 x17 ha y70 ff3 fs6 fc0 sc0 ls0 ws0">表达式中假设了运算顺序<span class="ff1 ls2c ws18">. (</span><span class="ls36">不要怕写括号</span><span class="ff1">)</span></div><div class="t m0 x17 ha y71 ff3 fs6 fc0 sc0 ls0 ws0">忽略函数的返回值<span class="ff1 ls2c">, </span><span class="ls39">如果函数不需要返回值可使用</span></div><div class="t m0 x17 ha y72 ff1 fs6 fc0 sc0 ls0 ws1e">(void) f(); <span class="ff3 ls20 ws0">但如果程序中无<span class="_ _2"> </span>返回值函数的数量太多</span><span class="ws0">,</span></div><div class="t m0 x17 ha y73 ff3 fs6 fc0 sc0 ls0 ws0">则系统的设计可能有问题<span class="ff1">.</span></div><div class="t m0 x12 h3 yb ff2 fs1 fc1 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x12 h3 yc ff2 fs1 fc0 sc0 ls1 ws0">www.cnasic.<span class="_ _0"></span>com</div><div class="t m0 x2c hb y4d ff3 fs7 fc2 sc2 lsa ws0">语言规则-<span class="fs5 ls3a">依赖关系</span></div><div class="t m0 x2d ha y74 ff3 fs6 fc0 sc0 ls0 ws0">模块间的依赖关系对于开发效率<span class="ff1">,</span>可测性<span class="ff1">,</span><span class="ls36">可维护性都有</span></div><div class="t m0 x2d ha y75 ff3 fs6 fc0 sc0 ls0 ws0">很大的影响<span class="ff1 ls2c">. </span><span class="ls39">良好的依赖关系应该是简单的</span><span class="ff1">,</span>层次化的<span class="ff1">,</span></div><div class="t m0 x2d ha y76 ff3 fs6 fc0 sc0 ls0 ws0">和非循环的<span class="ff1 ls2c">. </span></div><div class="t m0 x2d ha y77 ff3 fs6 fc0 sc0 ls0 ws0">函数间传递的参数越少越好,减少模块件的依赖关系和</div><div class="t m0 x2d ha y78 ff3 fs6 fc0 sc0 ls0 ws0">耦合程度<span class="ff1">,</span>最大程度上实现对模块的封装<span class="ff1">,</span><span class="ls36">将模块内的复</span></div><div class="t m0 x2d ha y79 ff3 fs6 fc0 sc0 ls0 ws0">杂性屏蔽<span class="ff1">,</span>而对外提供简洁的数据接口。</div><div class="t m0 x2d ha y7a ff3 fs6 fc0 sc0 ls0 ws0">尽量减少全局量的使用,局限在一个<span class="ff1">c</span>文件中的全局量</div><div class="t m0 x2d ha y7b ff3 fs6 fc0 sc0 ls0 ws0">应该说明为<span class="_ _2"> </span><span class="ff1 ls2c">static</span>。</div><div class="t m0 x2d ha y7c ff3 fs6 fc0 sc0 ls0 ws0">对于一组在逻辑上相关的变量,应该尽量将他们封装在</div><div class="t m0 x2d ha y7d ff3 fs6 fc0 sc0 ls0 ws0">结构中。</div></div><div class="pi" data-data='{"ctm":[1.878669,0.000000,0.000000,1.878669,-78.904110,-152.172211]}'></div></div>