zoukankan      html  css  js  c++  java
  • 20180925-5 代码规范,结对要求

    此作业的要求:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2147]

    结对伙伴:王玉潘

    我们这次作业使用C语言编写,所以我们针对C语言的语法规则进行规范代码。

    要求一

    1.大小写

    我们大体上采用单词首字母大写的方式命名,由多个单词组成的变量名,如果全部都是小写,很不易读,一个简单的解决方案就是用大小写区分它们。我们采用单词首字母大写的方式命名变量名,有两个具有实际意义的单词组成时,单词的首字母要大写,比如getstr,我们将这样书写GetStr。函数名我们也会将首个字母严格写成大写,比如Pop()。

    2.注释

    注释是为了解释程序是做什么(what),为什么这样做(why),以及要特别注意的地方。在定义数据结构时及实现某个功能的函数,在关键语句,难懂语句处注释,我们对这些代码进行解释,比如数据结构是定义的那种数据,函数实现了什么功能。在关键语句进行注释,让阅读程序的人能够理解这些代码的实际含义。没有这些注释,程序会变得晦涩难懂,自己过段时间也难以理解。

    3.缩进

    我们按照Code Blocks默认的缩进距离进行缩进,在必要的代码块进行缩进,没有缩进的代码太过杂乱,没有规范的缩进也会让人摸不到头脑。在while循环,for循环,if判断语句下,我们都用默认的缩进,我们的ide有智能的缩进功能。

    4.分行

    不要把多个变量定义在一行上,比如:我们不这么书写int num=1;ans=2;

    我们要再起一行进行第二个变量的定义:

    int num=1;

    int ans=2;

    if或else语句之后不再加实现功能的语句,比如:

    if(判断条件)

    {

         代码块;

    }

    else

    {

          代码块;    

    }

    5.括号

    在复杂的条件表达式中,用括号清楚地表示逻辑优先级。在复杂的循环程序中,我们也使用括号清楚地表所示逻辑关系。如果不加括号进行表示,会使得逻辑混乱,导致程序出错。比如if语句下只有一条代码时,不在其后面加括号,后续再这个判断语句后里加入代码时,就会产生错误,例如:

    if(判断条件)

         a=b;

    后续如果想要在if条件下加入别的语句,比如:

    if(判断语句)

         a=b;

         c=b;

    这时就会产生错误,c=b这条语句就没被加到里面。

    6.函数

    一个函数只执行一个功能,结构化编程时,让每一个函数实现一个功能会使编程变得比较容易。如果一个函数实现多个功能就不能达到结构化编程的效果,将每一个功能的实现都交付给一个函数,这样就能使编程变得明了,可读性也会变高。

    7.行宽

    行宽超出了100字符,行宽过长,影响编写,更影响阅读。如果某一行代码过长,我们将会换行书写,这样就会避免某一行太过冗长。换行时不能影响程序的编写,不改变程序的实际意图,比如&&这个字符肯定不能写在两行。

    8.断行与空白的{}行

    按照如下标准:

    if (判断条件)

    {

          代码块;

    }

    else

    {

          代码块;

    }

    9.命名

    让每一个变量名、函数名都有含义,不能让读程序的人读不懂程序。每一个变量都有实际含义,增强可读性。

    10.运算符

    运算符不要做标准语义之外的任何动作,由于我们的编程能力有限,我们也不自己定义运算符。

    11.代码结构化

    把能够重用的代码块,单独提出来写到一个函数里,然后能够将这些代码重用。

    12.参数处理

    对外部传来的参数,要验证其正确性。

    要求二

    1.在给变量名命名时,我们出现了小部分没有意义的变量,由于不能让每个变量都具有实际含义,在实现功能四的时候,我们程序里出现了几个没有意义的变量名,其他函数里也出现了个别没有意义的变量(对应9.命名)

    2.我们出现2次了代码行宽过长的现象,但出于可读性的考虑,我们没有修改(对应7.行宽)

    3.变量名首字母都采用大写,但编写时偶尔会出现首字母不大写的情况,例如data,经过考虑,我们决定允许部分单个单词组成的变量首字母小写。(对应1.大小写)

    4.我们应该多添加注释,方便理解(对应2.注释)

    5书写习惯不同,有时候不能完全按照此前规定的缩进,我们对此不进行约束(对应3.缩进)

    6.由于书写习惯,有些行会出现多个变量写在同一行的问题,所以我们决定废除第四条。(对应4.分行)

    7.在重用代码时发生了逻辑错误,我们决定废除此条。(对应11.代码结构化)

    8.编程时由于忽略了参数处理,导致我们在对命令行参数处理时发生错误,所以我们决定废除此条。(对应12.参数处理)

    9.我们在编写程序时,会忽略在循环结构和条件语句后加入括号,这种行为很容易导致错误的发生,我们以后会严格遵守。(对应5.括号)

  • 相关阅读:
    hdu 3648 Median Filter (树状数组)
    poj 1470 Closest Common Ancestors (LCA)
    poj 1330 Nearest Common Ancestors (LCA)
    hdu 2586 How far away ? (LCA)
    poj 3253 Fence Repair (哈夫曼)
    poj 1094 Sorting It All Out (拓扑排序)
    hdu 2527 Safe Or Unsafe (哈夫曼树)
    三层架构
    SQL2008、SQL2013 执行Transact-SQL 语句或者批处理时发生了异常。错误5120
    【MediaKit】WPF项目中 调用摄像头拍照的开发包
  • 原文地址:https://www.cnblogs.com/zhushenying123/p/9753301.html
Copyright © 2011-2022 走看看