zoukankan      html  css  js  c++  java
  • Individual Project复审

    复审代码的来源:12061162 王骜

    王骜同学的代码注释较多,读起来还是比较容易懂。

    代码遵从模块化思想,各个模块之间分工明确,功能重复少,模块之间联系紧密,相互调用明确。

    处理单词过程运用了正则表达式,方便快捷,减少了编码的工作量。

    诸如此类做的比较好的地方还有不少,在此就不一一列举,下面提几点还可以改进的地方。

    1. 在程序中,还有一小部分变量的命名可以给出完整英文描述,使其更有意义,可读性更好,就像类和函数的命名一样,让阅读者一看就知道其功能作用。

       (多数变量名称可读性还是比较好的)

    int MyStringCompare(String x, String y)
                //自定义了字符串比较方法:
                //忽略大小写排序,但是大写相对靠前
                //如hello,world,World,zoo
                //排序后变成hello,World,world,zoo
                {
                    int lx = x.Count(), ly = y.Count(), i;
                    String xx = x.ToUpper();
                    String yy = y.ToUpper();
                    for (i = 0; i < lx && i < ly; i++)
                        if (xx[i] == yy[i]) continue;
                        else return xx[i] - yy[i];
                    if (i == lx && i < ly) return -1;
                    else if (i < lx && i == ly) return 1;
                    else
                    {
                        for (i = 0; i < lx && i < ly; i++)
                            if (x[i] == y[i]) continue;
                            else return y[i] - x[i];
                        return 0;
                    }
                }

    如以上代码中的lx可以扩展声明为x_length, xx可声明为 xToUpper .

    2. 在某些细节方面的处理还可以更优化,如按字典序比较和按频率比较的两个类都继承了IComparer接口,两个类之间重复的代码较多,可以考虑合并为一个类以减少代码量。

    3. 代码中除了输入输出较少用到C#的库函数,建议查看一下代码中某些函数能否用库函数替代,从而减少自己的工作量。

    最后,读partner的代码也给我一点启发,比如在处理文件的时候我是找符合后缀名的文件进行处理,这导致了递归的时候目录文件不在处理文件范围内的问题;

    而partner的代码则是找出不符合条件的文件进行过滤,这样处理能便于递归的进行。

  • 相关阅读:
    python3.x学习笔记2018-02-05更新
    网络安全学习资源整理2018-02-02更新
    隔行变色效果
    自制滚动条
    关于ico图标
    CSS实现标题/段落省略效果的三剑客
    第三章(循环) 编程题 2
    第三章(循环) 编程题
    python基础03--基本数据类型(字符串)
    python基础02--运算符与基本数据类型(数字)
  • 原文地址:https://www.cnblogs.com/brendy/p/4047234.html
Copyright © 2011-2022 走看看