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 = ; i < lx && i < ly; i++)
if (xx[i] == yy[i]) continue;
else return xx[i] - yy[i];
if (i == lx && i < ly) return -;
else if (i < lx && i == ly) return ;
else
{
for (i = ; i < lx && i < ly; i++)
if (x[i] == y[i]) continue;
else return y[i] - x[i];
return ;
}
}
如以上代码中的lx可以扩展声明为x_length, xx可声明为 xToUpper .
2. 在某些细节方面的处理还可以更优化,如按字典序比较和按频率比较的两个类都继承了IComparer接口,两个类之间重复的代码较多,可以考虑合并为一个类以减少代码量。
3. 代码中除了输入输出较少用到C#的库函数,建议查看一下代码中某些函数能否用库函数替代,从而减少自己的工作量。
最后,读partner的代码也给我一点启发,比如在处理文件的时候我是找符合后缀名的文件进行处理,这导致了递归的时候目录文件不在处理文件范围内的问题;
而partner的代码则是找出不符合条件的文件进行过滤,这样处理能便于递归的进行。
Individual Project复审的更多相关文章
- Individual Project - Word frequency program-11061171-MaoYu
BUAA Advanced Software Engineering Project: Individual Project - Word frequency program Ryan Mao (毛 ...
- Note: SE Class's Individual Project
虽然第一个Project还有点小问题需要修改,但是大体已经差不多了,先把blog记在这里,算是开博第一篇吧! 1.项目预计的用时 本来看到这个题的时候想的并不多,但是看了老师的要求才觉得如此麻烦ORZ ...
- Individual Project Records
At the midnight of September 20, I finished my individual projcet -- a word frequency program. You c ...
- 《软件工程》individual project开发小记(一)
今天周四没有想去上的课,早八点到中午11点半,下午吃完饭后稍微完善了一下,目前代码可以在dev c++和vs2012上正常运行,性能分析我看资料上一大坨,考虑到目前状态不太好,脑袋转不动了,决定先放一 ...
- SoftwareEngineering Individual Project - Word frequency program
说实话前面c#实在没怎么学过.这次写起来感觉非常陌生,就连怎么引用名空间都忘记了.在经过恶补后还是慢慢地适应了. 1.项目预计用时: 构建并写出大概的数据结构,程序框架及模块: 30min 实现文件夹 ...
- Individual Project - Word frequency program
1.项目预计用时 -计划学习C#和百度一些用法的时间:5小时 -项目本身打算写两个类,一个是遍历搜索文件夹的,另外一个用来统计单词.计划用时:5小时 2.项目实际用时 学习C#以及正则表达式的用法:3 ...
- Individual Project - Word frequency program - Multi Thread And Optimization
作业说明详见:http://www.cnblogs.com/jiel/p/3978727.html 一.开始写代码前的规划: 1.尝试用C#来写,之前没有学过C#,所以打算先花1天的时间学习C# 2. ...
- 1415-2个人项目Individual Project
作业要求: 个人独立完成,实践PSP相关知识. 时 间: 两周. (本来截止4月30日,考虑到刚迁移平台,延缓至5月7日) 实践目标: Github基本源代码控制方法 利用Junit4进行程序模块的测 ...
- Project: Individual Project - Word frequency program----11061192zmx
Description & Requirements http://www.cnblogs.com/jiel/p/3311400.html 项目时间估计 理解项目要求: 1小时 构建项目逻辑: ...
随机推荐
- Linux小技巧之:两种方法统计访问web网站的前10个IP
获得访问前10位的IP地址: 10.46.170.7 218.202.70.147 77.72.83.87 5.39.217.107 185.197.74.234 185.197.74.231 第二种 ...
- Shell的基础介绍和案例
一.shell脚本基础 1.第一个脚本 vim first.sh 分别使用三种方法可以执行脚本: ./first.sh (需要有可执行的权限) sh first.sh . fir ...
- python使用关键字爬取url
python网路爬虫 --------- 使用百度输入的关键字搜索内容然后爬取搜索内容的url 开发环境:windows7+python3.6.3 开发语言:Python 开发工具:pycharm 第 ...
- for(var i=1;i<=3;i++){ setTimeout(function(){ console.log(i); },0); };答案:4 4 4。
看面试题时,发现了一道较为经典的面试题,代码如下 for(var i=1;i<=3;i++){ setTimeout(function(){ console.log(i); },0); }; / ...
- Tomcat 下配置一个ip绑定多个域名
原文:http://pkblog.blog.sohu.com/68921246.html 在网上找了半天也没找到相关的资料,都说的太含糊.本人对tomcat下配置 一ip对多域名的方法详细如下,按下面 ...
- Scrapy中将item字段转为简体or繁体
1. 安装hanziconv安装一个简繁体转换的包: pip install hanziconv 2. 自定义一个itempiples找到项目中的pipelines.py文件 添加自定义的pipeli ...
- NET Framework 各版本官方下载
https://msdn.microsoft.com/en-us/library/5a4x27ek(v=vs.110).aspx https://www.microsoft.com/zh-CN/dow ...
- LabelImg 图像图像标注工具
https://github.com/tzutalin/labelImg windos版本请不要把存放在中文目录下,否则打不开.
- Cesium学习2:如何从零开始在Eclipse IDE,Java语言搭建cesium开发环境
废话不多说,今天就先在Eclipse上搭建Cesium开发环境吧~ 零.Cesium简介 Cesiumjs 是一套javascript库,用来渲染3D地球,2D区域地图,和多种GIS要素.不需要安装任 ...
- 一、java三大特性--封装
封装字面意思即包装.专业点来说就是数据隐藏,是指利用抽象数据将数据和基于数据的操作封装起来,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能的隐藏细节,只保留一些对外的接口和外部 ...