首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

《C程序设计伴侣》试读——1.4.B 编码规范——怎么写出简洁优美的代码

2013-09-11 
《C程序设计伴侣》试读——1.4.B 编码规范——如何写出简洁优美的代码更多试读章节:http://chenlq.net1.4.B 编码

《C程序设计伴侣》试读——1.4.B 编码规范——如何写出简洁优美的代码
更多试读章节:
http://chenlq.net

1.4.B 编码规范——如何写出简洁优美的代码

下面是来自两位C语言程序员的实现相同功能的两段代码:

l 月薪1000元的程序员的代码:
 
#include <stdio.h>
int main()
{
    FILE *Wenjian; char Str[100];
    Wenjian = fopen("test.txt","w");
    do {
    gets(Str);
    if(Str[0] == '!')
            break; fputs(Str,Wenjian);  }while(1);
    fclose(Wenjian);
    return 0;
}

l 月薪10000元的程序员的代码: 

#include <stdio.h>
int main()
{
    // 文件指针和保存输入的字符串
    FILE *fp = NULL;
    char str[100] = "";
    // 以可写方式打开文件
    if(NULL==(fp = fopen("test.txt","w")))
    {
        printf("cannot open the file.\n");
        return 1;
    }
    // 提示用户输入
    printf("please input a string:\n");
    do
    {
        // 判断输入是否结束
        gets(str);
        if('!' == str[0])
            break;
        // 写入文件
        fputs(str,fp);
    }while(1);
    // 关闭文件
    if(NULL!=fp)
        fclose(fp);
    fp = NULL;
    return 0;
}

其实,不用我多说,两位程序员的工资,已经很明显地说明了这两段代码孰优孰劣。那位月薪1000元的程序员的代码,有着大多数初学者编写代码时的坏习惯:变量名大小写混用、中英文混用(这大约是中国程序员的一大特点);同一行代码定义多个不相关变量;定义变量而不进行必要的初始化;对文件打开等可能出错的操作不进行防错处理;缺少必要的程序提示;“==”比较中变量在前常量在后;程序中只有代码没有注释;各种语句没有经过较规范的排版、代码版式错乱无章、无规则的代码缩进等等。

第一段代码集中地反映了初学者在开始学习编写程序的时候,因为没有接触良好的编码规范而形成的混乱的编码习惯,使得自己写出来的代码“惨不忍睹”,没有任何的可读性和可维护性。虽然编译器并不在意你编写的代码是否美观,但是,我们应该记住,除了编译器之外,我们的代码也是写给别人看的。如果不想让别人在维护你的代码时骂娘的话,如果不想让你的工资始终停留在1000元上下的话,就要好好学习一下编码规范,向月薪10000元的程序员看齐。

对比于第一段月薪1000元的程序员的代码,第二段程序阅读起来就流畅自然多了,几乎不用动任何脑筋就可以理解整个程序,自然其可维护性也就大大提高了。实现相同功能的两段代码,只是因为编码风格的不同,写代码的人所受到的待遇就有着天壤之别。也许,第二位程序员每个月拿到的10000元中,有1000元是付给他所实现的功能的,而有9000元是付给了他所遵循的良好的编码规范。

所谓编码规范,是在项目进行过程中所制定的关于编码格式、注释风格的书写规范,它可以极大地提高代码的可读性,增加代码的可维护性。除了这些看得见的好处之外,良好的编码规范还可以预防一些常见的编程错误(例如名字冲突、嵌套错误等)。

世界上正在应用的编码规范有很多,有各大公司根据自己的情况制定的编码规范,也有针对各种编程语言而制定的编码规范。但是,这个世界上并没有一种所谓“最好的”编码规范,即使是现在所流行的各种编码规范也都各有其优缺点。所以,没有普遍适用的标准。如果我们所在的项目团队已经有了一份编码规范了,那么就可以按照上面说的做。如果硬要推翻重来,那么可能会带来更多的争吵而不是把问题解决。从商业角度来看,只有两件事是重要的:一是代码可读性好,二是团队中的每个成员都使用相同的风格。

因此,我们不要妄图去制定一种“最好的”编码规范,只能结合自己的项目实际,同时参照现在流行的编码规范,采纳其优点,摒弃其缺点,制定出一种“最适合”的编码规范,并且在项目实践中认真严格地执行,这就是“最好的”编码规范

更多试读章节:
http://chenlq.net

[解决办法]
看到那个gets,可能倒贴10000元也没人要,这种代码怎能上得了桌面?
我的异常网推荐解决方案:软件开发者薪资,http://www.myexception.cn/other/1391128.html

热点排行