1.是否需要代码规范:
    (1)这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。
        首先来说,从短期上和个体上来看,一个团队的代码风格必然会在一定程度上与个人的代码习惯有所冲突,所以在这个层面上来说,他对个体的开发效率在短期上会有一定影响。
        然而,在宏观上,从长远角度出发,开发一个项目,是一个团队的事,制定一套代码规范会让团队的合作更加高效,更加紧密,因为代码规范的制定会让团队成员更易理解他人的代码,并且能让迭代更加轻松,并且一个好的编码风格也会让个体有所提高。
    (2)我是个艺术家,手艺人,我有自己的规范和原则。
        我认为这句话是正确的,若是真把程序员比作艺术家手艺人,那每个coder必然有自己的规范和原则,在我们进行单独开发时,秉持这些原则无可厚非,然而程序员并不能像艺术家一样始终以一个个体存在着,当他加入团队开发时,就必然不能总凭着自己的性子来我行我素,所以在团队开发时,还是要坚持团队的开发规范和方向原则。
    (3)规范不能强求一律,应该允许很多例外。
        这句话我保持中立态度,因为了解不多。其实我觉得,一个代码规范也是有好坏之分的,这个好坏的评判是在与项目需求的覆盖程度相关的,如果真的是需要大量例外才能支持这个项目实现功能的话,可以说这个代码规范是不合格的。所以,在不必要的时候,即代码规范和功能实现不发生冲突的时候,还是要遵守规范的。
    (4)我擅长制定编码规范,你们听我的就好了。
        代码规范是一个团队所共用,所以应该由一个团队有经验的人员一起制定,这样在大家的代码习惯和需求实现的逻辑上找一个折中的结果。
2.代码复审:
    (1)Does the code work? Does it perform its intended function, the logic is correct etc.
        代码可以正常运行,经过测试没有发现明显的逻辑错误。
    (2)Is all the code easily understood?
        代码还是比较容易读懂的,变量和函数名有实际意义,所以比较容易理解。
        使用了大量库函数,所以功能逻辑也比较清晰。
        中文处理的一些部分写的着实有点复杂,不太容易理解。。。。
    (3)Does it conform to your agreed coding conventions? These will usually cover location of braces, variable and function names, line length, indentations, formatting, and comments.
        代码风格我比较认同,变量名,函数名,常量名有实际意义,又有不同格式,表达式符号之间有空白符,清晰明了。使用驼峰法命名。
    (4)Is there any redundant or duplicate code?
        代码重用率很高,把功能封装成函数,进行调用,减少冗余。
    (5)Is the code as modular as possible?
        做了一定程度上的模块化,然而在面向对象方面做的并不是特别完全,还是可以看出明显的面向过程的编码思想。
    (6)Can any global variables be replaced?
        没有全局变量
    (7)Is there any commented out code?
        有注释掉的代码,是被否定掉的代码,还有一些功能上的说明。。。。还有一些表达情绪的话。。。
    (8)Do loops have a set length and correct termination conditions?
        有,经过测试没有死循环出现。
    (9)Can any of the code be replaced with library functions?
        额。。。对cpp的库不是太熟悉,并没有发现明显的可以用库函数替换的地方。
    (10)Can any logging or debugging code be removed?
        被注释掉了。
    (11)Are all data inputs checked (for the correct type, length, format, and range) and encoded?
        如果-r后的参数要求大于1,-n后的参数要求大于0,否则会报错。
        如果-e -a后的文件名对应的文件不存在,则会报错。
    (12)Where third-party utilities are used, are returning errors being caught?
        没有用到第三方开发库。
    (13)Are output values checked and encoded?
        进行了检验,并按照规定的格式对数据进行了编码。
    (14)Are invalid parameter values handled?
        对参数值和参数名都进行了检测,不会处理没有规定的参数名,对于错误的参数值会进行报错。
    (15)Are all functions commented?
        没有对所有函数进行之注释。
    (16)test
        没有提供单元测试,但是进行了性能测试。

软工个人作业-博客作业-WEEK2的更多相关文章

  1. [BUAA软工]第零次博客作业---问题回答

    [BUAA软工]第0次博客作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 第0次个人作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪 ...

  2. [BUAA软工]第二次博客作业---结对编程

    [BUAA软工]结对作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 2019年软件工程基础-结对项目作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能 ...

  3. [2017BUAA软工]第零次博客作业

    第一部分:结缘计算机 1. 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答) 当年高考前在专业这件事上纠结了好久,因为我对于大学各个专业具体学什么都不甚了解,于是就迟迟没有明确的目 ...

  4. [2017BUAA软工]第二次博客作业:代码复审

    〇.comment链接 https://github.com/hanayashiki/Sudoku/issues/1 一.代码复审 1.概要部分 (1)代码能符合需求和规格说明么? 经测试,对于合法输 ...

  5. [2021BUAA软工_助教博客]作业成绩汇总

    作业及成绩 作业链接 成绩链接 个人阅读作业#1 个人阅读作业#1_成绩 个人阅读作业#2 个人阅读作业#2_成绩 结对项目-第一阶段 结对项目-第一阶段_成绩 结对项目-第二阶段 结对项目-第二阶段 ...

  6. 【1414软工助教】博客链接和coding链接

    某些同学提供的coding.net用户名无法访问.请同学们自己点击自己的两个链接,如果发现有错,请在本博客的评论区给出正确的链接. 格式为: 学号后3位 链接 例如:***502 https://co ...

  7. 【软工】[技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE

    [技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE 官方文档与重要参考资料 官方demo 官方API调用样例 Playground 官方API Doc,但其搜索框不支持模 ...

  8. [BUAA软工]第一次博客作业---阅读《构建之法》

    [BUAA软工]第一次博客作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 第1次个人作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪 ...

  9. [BUAA2021软工]结对第一阶段博客作业小结

    作业链接 结对项目-第一阶段 优秀作业推荐 本次博客作业虽然是简单总结,但是以下作业中都不乏有思考.有亮点的精彩内容,推荐给同学们阅读学习. 山鸣谷应,相得益彰--杰对项目-第一阶段总结 该组对于可能 ...

随机推荐

  1. 30个你 “ 不可能全部会做 ” 的javascript题目

    1,以下表达式的运行结果是: ["1","2","3"].map(parseInt) A.["1","2&qu ...

  2. js中Math之random,round,ceil,floor的用法总结

    1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1) 2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分(返回小于等于n的最大整数). ...

  3. php 怎么在foreach中循环数组的时候添加元素的属性

    foreach($arr as $key => &$vo){ //注意,由于上面遍历的时候写了地址传值符&, //所以下面可以直接给$vo 赋值;如果不写&符号,下面这样 ...

  4. day20 Python 装饰器

    装饰器:本质就是函数,为其他函数添加附加功能,一个原则是不修改函数的源代码,另外一个原则是不修改被修饰函数的调用功能 装饰器=高阶函数+函数嵌套+闭包 前戏 import time def cal(l ...

  5. IDEA中使用vim删除复制代码的行号

    从别的地方复制来的源代码有时候会把前面的行号也一起拷过来,如果只是十几行代码的话手工去除还是方便的,但是如果代码有很多行的话,一行一行地删就不明智了. 例如我要复制以下代码 1 public clas ...

  6. PAT A1074 Reversing Linked List (25 分)——链表,vector,stl里的reverse

    Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elem ...

  7. SQL 清理缓存 更新无效

    --查询结果1 select * from Student where ID='CCB87B71-FB78-4BFE-8692-24DD2D8F8460' --查询结果2 where ID='CCB8 ...

  8. ubuntu和windows系统双系统的开机选项界面有很多无关选项

    我的电脑是双系统,在进入系统选项的时候有很多无关的选项, 例如: 解决的方法是在终端输入 sudo gedit /boot/grub/grub.cfg 把文件多余的开机选项删除例如: 保存就可以,开机 ...

  9. USB协议枚举过程详解

    一 枚举过程之文字描述 ?主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察.(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻.当用US ...

  10. token令牌

    本文摘自 WebApi安全性 使用TOKEN+签名验证 首先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或 ...