zoukankan      html  css  js  c++  java
  • 2017秋-软件工程第四次作业(1)-代码规范

    我的队友是张恩聚,相关博客提交1份代码规范。我和他的规范相同,老师查看一份评分即可。

     

    要求《代码规范》包括10项条款。制定条款的目的是在程序设计的过程中(触犯和)约束代码风格,希望切实可行,容易观察和客观检验。

    比如,每个函数不超过5行,对于初学者是不切实际的; 大括号匹配纵列对齐,是切实可行的; 变量名易读,是不易检验的,变量名必须是名词短语,遵循熊匈牙利命名法,是易于检验的。 (10)

    代码规范:

    1代码行数:功能函数代码行数不超过50行。

    2换行规则:函数之间需要空一行,同一函数内功能不同的代码之间空一行,同一函数内不空行。

    3括号:花括号需要上下对齐使用,小括号要出现在同一排内。

    4缩进:统一使用visual编译器自带的“调整格式”功能缩进。每阶段编辑完成后缩进一次

    5空格:

    a,每个标点符号之后有一个空格,比如逗号“,”和分号“;”之后;

    b,每个操作符之前需要一个空格:比如,赋值操作符“=”和加和操作符“+”。

    6变量命名:
    a,除非常简单循环变量外,杜绝一切无意义的变量名称;
    b,变量名称全部英文拼写,杜绝一切由中文拼音组成的变量;
    c,若变量需由多个英文单词组成时,第一个单词全部小写,后边的单词首字母大写,不采用下划线相连。
    d,静态常量全部大写,多个单词组成由下划线相连;

    e,不对单词进行缩写变换;

    f,函数的名称要求所有包含单词首字母大写。

    7注释规则:每个函数之前要写一段由“**”注释的段落,内容包含该函数的功能、接口。每个变量后有由“//”注释的中文释义。函数中重要功能语句后有“//”注释的功能解释。“//”尽量对齐。

    8每行只出现一条语句,不把多条语句写在同一行。

    9每行出现的字符数不超过80,若超过,则注释写在下一行。

    10小括号前面不加空格。

    要求记录完成本周作业过程中,《代码风格规范》执行情况。包括记录每一条规则的违反和纠正、次数,规范中某项条款的增强、消弱、或废除。在编码过程中完全未被违反的条款,说明过于宽松,或你们已经完全"本能"反应,不应作为条款,在本要求及要求1中不得分。此种情况,应补充一条新的条款。 (20)

    1.功能代码行数不超过50行;

    违反以及纠正次数:2次

    getExpressionAndResult()98行,处理表达式的同时计算结果,行数缩减不下来啊!!!顺次写下来不是想分就能轻易分开的。

    decimal() 50行消除一些上下的注释,空格就可以达到了。

    2换行规则:函数之间需要空一行,同一函数内功能不同的代码之间空一行,同一函数内不空行;

    违反以及纠正次数:5次

    翟宇豪在编程过程中总喜欢在某功能后空出3~4行空格作为与前一段代码的明显区分,所以之后要调整调整。

     3括号:花括号需要上下对齐使用,小括号要出现在同一排内;

    违反以及纠正次数:4次

     4缩进:统一使用visual编译器自带的“调整格式”功能缩进。每阶段编辑完成后缩进一次;

    违反以及纠正次数:8次

    总是忘记使用这个功能。

     5空格:

     a,每个标点符号之后有一个空格,比如逗号“,”和分号“;”之后;

     b,每个操作符之前需要一个空格:比如,赋值操作符“=”和加和操作符“+”。

    违反以及纠正次数13

    可能没有发现的更多,发现了就改正,看到了就调整,但是总有不和意见的地方。

     6变量命名:

    a,除非常简单循环变量外,杜绝一切无意义的变量名称;
    b,变量名称全部英文拼写,杜绝一切由中文拼音组成的变量;
    c,若变量需由多个英文单词组成时,第一个单词全部小写,后边的单词首字母大写,不采用下划线相连。
    d,静态常量全部大写,多个单词组成由下划线相连;。

    e,不对单词进行缩写变换;

    f,函数的名称要求所有包含单词首字母大写。

    违反以及纠正次数:17  这点我们争议较多,因为个人编程命名习惯不同的原因,导致很多变量命名需要后期重新更改,最后对变量命名这个条款进行增强。编程过程中还是没有杜绝使用简单单词的习惯,而且对于临时起名字感觉很不好,总是临时想不起来规范和应该怎么起名字。没有规范的时候想着要有,有了规范却想着逃避(偷懒不看规范编程)因为这样才能不打断思路继续下去。

     7注释规则:每个函数之前要写一段由“/**/”注释的段落,内容包含该函数的功能、接口。每个变量后有由“//”注释的中文释义。函数中重要功能语句后有“//”注释的功能解释。“//”尽量对齐。

    违反以及纠正次数:7

    更多的情况是偷懒不写注释。感觉写注释浪费了时间,作用还不大。

     8每行只出现一条语句,不把多条语句写在同一行。

    违反以及纠正次数:4次 这点开始违反过几次,在结对编程过程中稍加注意,可以避免错误发生。

     9每行出现的字符数不超过80,若超过,则注释写在下一行。

    违反以及纠正次数:1次

    this->express += (turnBracket(this->brackets, j) + this->character[i] + turnBracket(this->brackets, j + 1) + to_string(this->num[i]));

    129个字符,只有在大量的字符串拼接的过程中才会出现如此情况。不过回车一下就好了。

     10小括号前面不加空格。

    违反以及纠正次数:5次

    偶尔有的时候不自觉的加上了。

    修改及新增

    第7条:有关“/**/”的格式问题。在注释后,我们发现如果这2个符号在某段的上方下方非常不美观,所以一致决定统一变成在某段落前后,不单独占行。如图所示

                 

  • 相关阅读:
    机器学习(八) 多项式回归与模型泛化(上)
    机器学习(七) PCA与梯度上升法 (下)
    机器学习(七) PCA与梯度上升法 (上)
    机器学习(六) 梯度下降法 (下)
    机器学习(六) 梯度下降法 (上)
    机器学习(五) 线性回归法 (下)
    机器学习(五) 线性回归法 (上)
    机器学习(四) 机器学习(四) 分类算法--K近邻算法 KNN (下)
    获取字符串中img标签的url集合(转载)
    微信上传文章素材—ASP.NET MVC从View层传数据到Controller层
  • 原文地址:https://www.cnblogs.com/-Rio56/p/7649912.html
Copyright © 2011-2022 走看看