代码复审

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


 

一、代码复审check list

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

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

可测试性
  • 代码的单元测试不足。需要增加一些单元测试。
  • 没有涉及到数据库、网络、多线程等。

 

二、设计代码规范

  1. 和cpplint提供的代码规范相比,我个人的代码有很多的不足
    • 我的命名有很大的问题,很多类名和变量名都是全部小写的
    • 没有写copyright
    • 使用tab缩进
    • 很多符号的后面没有加空格
    • 大括号是单独的一行
  2. 代码规范里我想不到的部分
    • 需要写copyright
    • 使用4个空格缩进
    • 一些符号的后面需要加空格
  3. 代码规范的意义
    • 我认为对代码进行规范是为了增加代码的可读性,便于团队合作开发和维护。
  4. 我们使用的代码规范
    • 使用驼峰命名
    • 常量以k开头
    • 用4个空格缩进
    • 需要加空格的符号后面加空格
    • 函数之间空一行
    • 每个函数和代码块前加上详细的注释
    • 有必要时在变量声明的后面加上注释
    • 所有地方都不省略大括号  

 

转载于:https://www.cnblogs.com/zhaobs/p/7622895.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值