代码规范

缩进:

  是用Tab键好,还是2、4、8个空格?

  结论:4个空格,在VS2005和其他的一些编辑工具中都可以定义Tab键扩展成为几个空格键。

  不用 Tab键的理由是Tab键在不同的情况下会显示不同的长度。4个空格的距离从可读性来说正好。

 

行宽

  行宽必须限制 但是以前有些文档规定的80字符行宽太小了(以前的计算机/打字机显示行宽为80字符),现在时代不同了,可为100字符。

 

括号

  在复杂的条件表达式中,用括号清楚地表示逻辑优先级。

 

断行与空白的{ }行

  每个“{”和“}”都独占一行

//不同的语句(Statement)放在一行中,会使程序调试(DeBug)非常不方便,如果要一步一步观察condition(condition有可能是包含函数调用的复杂表达式)中各个变量的变化情况,单步执行就很难了
if
(condition) DoSomething(); else DoSomethingElse();//××××
//由于没有明确的“{”和“}”来判断程序的结构,在有多层控制嵌套的时候,就不容易看清结构和对应关系
if
(condition) DoSomething(); else DoSomethingElse();//××××
if ( condition) 
{
    DoSomething(); 
}
else 
{
    DoSomethingElse();
}//√√√√ <(^-^)>

 

 

分行

  不要把多行语句放在一行上。

a = 1; b = 2;        // bogus
if (fFoo) Bar();        // bogus

  更严格地说,不要把不同的变量定义在一行上。

Foo foo1, foo2;        // bogus

 

命名

  匈牙利命名法

    基础要求

      1、标识符的名字以一个或者多个小写字母开头,用这些字母来指定数据类型。

       2、在标识符内,前缀以后就是一个或者多个第一个字母大写的单词,这些单词清楚地指出了源代码内那个对象的用途。

      比如,m_szStudentName表示一个学生名字的类成员变量,数据类型是字符串型。

    下划线问题

      下划线用来分隔变量名字中的作用域标注和变量的语义,如:一个类型的成员变量通常用m_来表示。

    大小写问题

      由多个单词组成的变量名,如果全部都是小写,很不易读,一个简单的解决方案就是用大小写区分它们。

      Pascal——所有单词的第一个字母都大写;Camel——第一个单词全部小写,随后单词随Pascal格式,这种方式也叫lowerCamel。

      一个通用的做法是:所有的类型/类/函数名都用Pascal形式,所有的变量都用Camel形式。

      类/类型/变量:名词或组合名词,如Member、ProductInfo等。

       函数则用动词或动宾组合词来表示,如get/set; RenderPage()。

注释

  复杂的注释应该放在函数头,很多函数头的注释都是解释参数的类型等的,如果程序正文已经能够说明参数的类型in/out等,就不要重复

  注释也要随着程序的修改而不断更新,一个误导的(Misleading)注释往往比没有注释更糟糕。

  另外,注释(包括所有源代码)应只用ASCII字符,不要用中文或其他特殊字符,它们会极大地影响程序的可移植性。

  在现代编程环境中,程序编辑器可以设置各种好看的字体,可以使用不同的显示风格来表示程序的不同部分。

posted @ 2022-03-20 18:07  行呗  阅读(56)  评论(0)    收藏  举报