哪个网站做效果图好,百度网盘pc端网页版,网页图片去水印,网站建设公司咨询电话代码就是程序员的面子#xff0c;无论是在工作中在电脑上写程序代码还是在面试时在纸上写演示代码我们都希望写出整洁#xff0c;优雅的代码。特别在工作中当我们碰到需要维护别人的代码#xff0c;或者是多人参与一个项目大家一起写代码的时候#xff0c;如果碰到一些丑陋…代码就是程序员的面子无论是在工作中在电脑上写程序代码还是在面试时在纸上写演示代码我们都希望写出整洁优雅的代码。特别在工作中当我们碰到需要维护别人的代码或者是多人参与一个项目大家一起写代码的时候如果碰到一些丑陋的代码我们还要看懂并且修改它的时候那种难受肯定会让我们回想起多年以前自己还是新手程序员的时候写下的那些丑陋的代码并且深深内疚于将它们留给了我们的后继者不知道他们和它们是否还安好。所以强调代码的规范性写出整洁优雅可读性高的代码应该是成为一个合格的程序员的第一步。这里我就抛砖引玉给大家一些关于C代码规范性的一些建议。一、关于添加空格和空行的一些建议写代码的时候添加良好风格的空格和空行可以使代码看上去更整洁布局更清晰。1.空格· 建议一函数名之后不要留空格紧跟左括号‘ (’以与关键字区别。· 建议二象 if、 for、 **while **等关键字之后应留一个空格再跟左括号‘ (’以突出关键字。· 建议三‘’之后要留空格。在for语句中的‘’其后要留空格如 for (i0; i5; i)。· 建议四对于表达式比较长的 **for **语句和 **if **语句为了紧凑起见可以适当地去掉一些空格。· 建议五赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符如“ ”、“ ” “”、“ ”、“ ”、“ *”、“ %”、“ ”、“ 建议六一元操作符如“ !”、“ ~”、“ ”、“ --”、“ ”(地址运算符)等前后不加空格。下面这段代码就会显得不优雅看着有些别扭。//不好的风格void func (int a,int b,int c,int d){ if(a0) { if(abcd) { int * x a; ...//doSomeThing(); } }}我们希望将它改为这样。//良好的风格void func(int a, int b, int c, int d)//建议一建议三{ if (a 0)//建议二建议五 { if ((ab) (cd))//建议四 { int *x a; //建议六 ...//doSomeThing(); } }}还有这样的for语句for (i 0; i 5; i ),就属于空格滥用了应该改为for (i0; i5; i)。2.空行建议一在实现函数时函数与函数之间应加空行。建议二在一个函数体内逻揖上密切相关的语句之间不加空行其它地方应加空行。当程序中没有空行时是这样的。void func1(){ while (condition) { ...//doSomeThing(); if (condition) { ...//doSomeThingRelated(); } else { ...//doSomeThingRelated(); } ...//doSomeThing(); }}void func2(){ ...//doSomeThing();}而良好的空行不紧能使代码看上去更整洁代码逻辑也会更清晰。//良好的风格void func1(){ while (condition) { ...//doSomeThing(); if (condition) { ...//doSomeThingRelated(); } else { ...//doSomeThingRelated(); } ...//doSomeThing(); }}void func2(){ ...//doSomeThing();}二、关于代码行格式的一些建议· 建议一一行代码只做一件事情。· 建议二长表达式要在低优先级操作符处拆分成新行操作符放在新行之首 (以便突出操作符)。拆分出的新行要进行适当的缩进使排版整齐语句可读。//不好的风格void func(){ int veryVeryLongWidth, veryVeryLongHeight; if ((veryVeryLongWidth veryVeryLongHeight) || (veryVeryLongWidth veryVeryLongHeight))doSomeThing();}过长的代码行无论是书写还是阅读对人来说都不是一个美好的体验所以我们建议以上代码要这样写。//良好的风格void func(){ int veryVeryLongWidth; int veryVeryLongHeight; if ((veryVeryLongWidth veryVeryLongHeight) || (veryVeryLongWidth veryVeryLongHeight)) { doSomeThing(); }}三、关于命名的一些建议· 建议一变量函数文件命名应该具有描述性最好采用英文单词或其组合(不要使用拼音或者无意义的abc之类的除了像for (i0; i5; i)中的i这样的)以便记忆和阅读。· 建议二类名和函数名用大写字母开头的单词组合而成。例如class Book; class ReadBook; void Draw(); void DrawImage();· 建议三变量和参数用小写字母开头的单词组合而成。例如int value;void SetValueMode(int valueMode);· 建议四常量全用大写的字母用下划线分割单词。例如const int MAX 100;const int MAX_LENGTH 100;· 建议五全局变量加前缀 g_(表示 global)。静态变量加前缀 s_(表示 static)。类的成员变量加前缀 m_(表示 member)。例如int g_maxValue;static int s_maxValue; void Object::SetValue(int maxValue){ m_maxValue maxValue;}四、关于添加注释的一些建议在C中注释主要有两种程序块的注释常采用“ /*…*/”行注释一般采用“ //…”。注释主要用在3个地方。1、版权申明2、函数说明3、重要或复杂代码提示。对于前两种每个人或者每个公司都有个人的规范和习惯这里只要大家在公司内部统一即可。关于第三种给重要或复杂代码添加提示我们有一下几点建议。· 建议一注释的确很重要但是最好的代码本身就是文档(self-document)类型和变量命名意义明确要比通过注释解释模糊命名好得多。· 建议二边写代码边注释修改代码同时修改相应的注释以保证注释与代码的一致性。不再有用的注释要记得删除。· 建议三注释的位置应与被描述的代码相邻可以放在代码的上方或右方不可放在下方。五、关于类中成员声明次序的一些建议建议一在类中按照public:、protect:、private:的次序声明。如果那一块没有直接忽略。建议二在同一块中按照1、结构体和枚举2、常量3、构造函数4、析构函数5、成员函数6、成员变量的次序声明。六、关于if语句中的变量“与零值比较”的一些建议建议一不可将布尔变量直接与 TRUE、 **FALSE **或者 1、 **0 **进行比较。假设布尔变量名字为 flag它与零值比较的标准 if 语句如下if (flag) // 表示 flag 为真if (!flag) // 表示 flag 为假建议二应当将整型变量用“ ”或“”直接与 0 比较。假设整型变量的名字为 value它与零值比较的标准 if 语句如下if (value 0)if (value ! 0)也可以将0放在比较运算符前面。if (0 value)if (0 ! value)这时如果将“”写成“”编译器会报错。· 建议三不可将浮点变量用“ ”或“”与任何数字比较。无论是 float 还是 double 类型的变量都有精度限制。所以一定要避免将浮点变量用“ ”或“”与数字比较应该设法转化成“ ”或“ ”形式。假设浮点变量的名字为 x应当将if (x 0.0) // 隐含错误的比较修改为const float EPSINON 0.00001;if ((x-EPSINON) (xEPSINON))其中 EPSINON 是允许的误差(即精度)。· 建议四应当将指针变量用“ ”或“ ”与** NULL **比较。假设指针变量的名字为 p它与零值比较的标准 if 语句如下if (p NULL) // p 与 NULL 显式比较强调 p 是指针变量if (p ! NULL)有什么好的想法欢迎评论。 喜欢的关注收藏哦