第二课 代码风格规范

  1. 课程实验项目要求

课程实验项目介绍
实现一个命令行的菜单小程序,最终目标是完成一个通用的命令行的菜单子系统便于在不同项目中重用。

代码最初是如何生长起来的
从hello world开始不断迭代调试使代码长的越来越像一个命令行的菜单小程序
写代码要小步快跑不断迭代,罗马不是一天建成的。
声明:做实际项目并不鼓励从头开始写代码,而是找已有的类似项目做逆向工程和再工程。

代码风格规范
代码风格的原则:简明、易读、无二义性
缩进、命名、注释等代码编排的风格规范
**《构建之法》4.1代码规范
高质量C++/C编程指南(林锐)**

本周实验要求
参考视频演示按自己的方式实现一个命令行的菜单小程序,执行某个命令时调用一个特定的函数作为执行动作,实现的命令个数不少于8个;
评分标准:主要以是否符合代码风格规范为准;
思考:如何将代码模块化以包容变化?

伪码如下

int main()
{
    while(true)
    {
        scanf(cmd);
        int ret = strcmp(cmd, "help");
        if ( ret==0 ) 
        {
            dosth();
        }
        int ret = strcmp(cmd, "other");
        if (ret == 0)
        {
            dosth();
        }
    }
}
  1. 简约而不简单

书籍:参看《构建之法》 一书。
代码风格,在代码重用时会非常有价值。
代码风格规范在团队交流与写作中有重要的价值。

1). 缩进 :
代码缩进严格使用4个空格
:set ts=4
:set shiftwidth=4
:set expandtab
:%retab!
2). 行宽
可以限定为100个字符宽度.
3). 括号
复杂表达式中用()清晰表达逻辑优先级
4). 花括号独占一行
5). 命名
类型的成员变量通常用m_ 或者 _ 来做前缀
6). 注释和版权信息
注释采用英文,不要使用中文。保持源代码是ASCII字符格式文件
7). 不要解释程序时如何工作的(How)
要即使程序做什么(What), 为什么(Why), 以及特别需要注意的地方
8). 每个源程序应该有版权描述的信息

实验简单代码:

  1 #include
  2 #include
  3 
  4 /*
  5 1). "{", "}" , account single line
  6 2). 
  7 */
  8 int main()
  9 {
 10     char cmd[128];
 11     while(1)
 12     {
 13         scanf("%s",cmd);
 14         if(!strcmp(cmd, "help"))   // Better: if(strcmp(cmd, "help") == 0)
 15         {
 16             printf("This is help cmd!\n");
 17         }
 18         else if(!strcmp(cmd, "quit")) // Better: if(strcmp(cmd, "help") == 0)
 19         {
 20             exit(1);
 21         }
 22         else
 23         {
 24             printf("Wrong cmd!\n");
 25         }
 26     }
 27     return 0;
 28 }

你可能感兴趣的:(第二课 代码风格规范)