北航软件工程:代码复审

这次复审黄敬博同学第一次个人作业的代码,确实发现了一些好的想法,同时也存在不少的问题。

他的代码的链接:http://www.cnblogs.com/jinbo123/p/3993316.html

这里写一下他的代码的优缺点:

优点:1.代码运用的关键字和各种方法都比较简单易懂,思路清晰流畅,从程序运行上看,比较好的完成了老师的要求。

   2.在细节上,运用了正则表达式,很好的简化了匹配单词的过程。

缺点:

     1.类名称和各种变量名称都起的很不符合规范,让人看名字完全不清楚类和变量是做什么的,代码可读性不够好;

class v
{

public int n { get; set; }
public string s { get; set; }
public v(int nu, string st)
{
this.n = nu;
this.s = st;
}

}

上面是一个例子,类和变量以及方法的名称让人完全摸不着通脑。

   2.单个类所包含的内容过多,而且所有东西都写在main函数里面,功能太混杂,甚至三种要求的功能都在一个类里面完成,代码重复较多,就像是用C#写的c语言。

    可以考虑建一个基础的父类,在此基础上进行继承,简化重复代码的部分。并且把main所在的主类独立出去,让主类只完成读入输出以及实例化对象的功能。多写一些方法来替代代码中重复的功能。

   3.算法的效率不是很高,扫描match的过程复杂度接近n*n。可以进行算法的优化,让代码运行效率提高。

   4.没有抛出异常;

   5.没有写注释,可读性较差;

此外还有一些个别的小问题,这里就不多说 了。

希望敬博君下次写代码可以更好的考虑到代码的规范性已经效率问题。

原文地址:https://www.cnblogs.com/buaa/p/4046606.html