zoukankan      html  css  js  c++  java
  • 代码复审

    项目地址:https://github.com/YoungForest/Sudoku-Cli


    一、代码复审check list

    1. 概要部分
      • 代码符合需求和规格说明。对功能的实现非常完善。
      • 代码设计有比较周全的考虑。首先,程序对输入有详细的处理,对输入的格式进行了检查,并对输入的数字大小进行了判断。程序还有周全的错误处理,把错误信息输出到ErrorLog.txt中。
      • 代码有较高的可读性。代码根据功能分为了几个不同的类,对功能的划分较为直观,关键部分有详细的注释,但有些部分仍缺少必要的注释,存在一些难以理解的代码。
      • 由于代码的分工十分明确,所以易于维护。
      • 代码的每一行都执行并检查过了。
    2. 设计规范部分
      • 没有应用常用的设计模式。
      • 有较多的硬编码存在,比如在很多的for循环中
      •  代码使用C#编写,不会影响移植 。

      • 没有可以调用已有库的功能。
      • 没有无用的代码。
    3. 代码规范部分
      • 程序整体代码风格一致。
    4. 具体代码部分
      • 对不同类型的错误进行了处理,在某些地方检查了函数的返回值。
      • 参数传递没有错误,字符串长度是字符的长度,以0开始计数。
      • 对输入的数字大小进行了判断,没有用到switch语句,没有可能出现死循环的地方。
      • 没有使用断言。
      • 在生成数独的回溯中申请资源,没有可导致内存泄漏的地方。
      • 没有无用的元素。
    5. 效能
      • 程序的效能较差,生成50000个数独大概要4分钟。
      • string的操作可以用StringBuilder 来优化。
      • 程序只有对文件的读写操作,不会超时。没有网络调用。
    6. 可读性
      • 代码的可读性较高,有大量的注释。但仍有个别关键函数缺少必要的注释,读起来难以理解
    7. 可测试性
      • 代码的单元测试不足。需要增加一些单元测试。
      • 没有涉及到数据库、网络、多线程等。

    二、设计代码规范

    1. 和cpplint提供的代码规范相比,我个人的代码有很多的不足
      • 我的命名有很大的问题,很多类名和变量名都是全部小写的
      • 没有写copyright
      • 使用tab缩进
      • 很多符号的后面没有加空格
      • 大括号是单独的一行
    2. 代码规范里我想不到的部分
      • 需要写copyright
      • 使用4个空格缩进
      • 一些符号的后面需要加空格
    3. 代码规范的意义
      • 我认为对代码进行规范是为了增加代码的可读性,便于团队合作开发和维护。
    4. 我们使用的代码规范
      • 使用驼峰命名
      • 常量以k开头
      • 用4个空格缩进
      • 需要加空格的符号后面加空格
      • 函数之间空一行
      • 每个函数和代码块前加上详细的注释
      • 有必要时在变量声明的后面加上注释
      • 所有地方都不省略大括号  
  • 相关阅读:
    Android图片缩放方法
    网站建设底层知识Socket与Http解析
    802.11成帧封装实现(五)
    802.11成帧封装实现(四)
    802.11成帧封装实现(三)
    802.11成帧封装实现(二)
    802.11成帧封装实现(一)
    802.11n协议解析(二)
    802.11n协议解析(一)
    早期主流的wlan技术(二)
  • 原文地址:https://www.cnblogs.com/zhaobs/p/7622895.html
Copyright © 2011-2022 走看看