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小时 构建项目逻辑: ...
随机推荐
- Axios发送请求时params和data的区别
在使用axios时,注意到配置选项中包含params和data两者,以为他们是相同的,实则不然. 因为params是添加到url的请求字符串中的,用于get请求. 而data是添加到请求体(body) ...
- ST_Geometry效率的测试与分析
测试环境 数据库:Oracle11g R1(11.1.0.6) 64Bit 中间件:ArcSDE10 (64Bit) 数据情况:点数据(point,231772条记录),面数据(poly,12条记录) ...
- 寒假训练 A - A Knight's Journey 搜索
Background The knight is getting bored of seeing the same black and white squares again and again an ...
- Spring Cloud Eureka 属性作用
配置参数 默认值 说明 服务注册中心配置 Bean类:org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean eu ...
- 大疆ganluinace
1全部套件 2 贴胶布 3 注意箭头朝向一直 5 安装分部件
- Arduino IDE for ESP8266 项目云盒子(3)外网访问
互联网访问esp8266 https://item.taobao.com/item.htm?spm=a230r.1.14.20.eYblO3&id=521945102409&ns=1& ...
- Spring配置文件和SpringMVC配置文件 web.xml配置文件 保存自用
话不多说,最近在周末自己抽时间写一些框架做的系统,当所有东西都需要自己配置时候发现自己压根记不住这么多类和路径,所以日常总结就变得尤为重要了 db-config.properties 将配置文件常量提 ...
- python中requests已安装却仍报No module named requests错的原因
调用pip list可见已经成功安装了: requests 但是在运行时仍报错: userdeMacBook-Pro:xiaohui user$ python test_web.py Tracebac ...
- oracle12C 创建PDB
1.根据数据库现有模板创建PDB CREATE PLUGGABLE DATABASE ssptrad ADMIN USER sspIDENTIFIED BY oracle roles=(dba) fi ...
- leetcode 199. Binary Tree Right Side View 、leetcode 116. Populating Next Right Pointers in Each Node 、117. Populating Next Right Pointers in Each Node II
leetcode 199. Binary Tree Right Side View 这个题实际上就是把每一行最右侧的树打印出来,所以实际上还是一个层次遍历. 依旧利用之前层次遍历的代码,每次大的循环存 ...