第三次作业
合作者:201631062226,201631062125
代码地址
本次作业地址
一、实现的功能
-统计字符数
- 统计单词数
- 统计文本行
-统计注释行、代码行、以及空行 - 递归处理目录下符合条件的文件
- 停用词表
二、代码互审
-变量命名不规范
-注释不足
-可读性较差
我们使用的是C#语言,针对这种情况,根据C#编码规范做了相应改进。
三、扩展功能
if (lstChar.Count > 0) //如果文件不为空,则行数+1
{
lineNumber++;
}
sr.Close();
fs.Close();
FileStream fd = new FileStream(filename, FileMode.Open);
StreamReader sb = new StreamReader(fd, encode);
while ((lineString = sb.ReadLine())!=null)
{
buffer = lineString.Split(new char[]{' ',','});
for (int j = 0; j < buffer.Length; j++)
{
if (isStop) //如果启用禁词表,则比对单词
{
FileStream fb = new FileStream(outstop, FileMode.Open);
StreamReader sd = new StreamReader(fb, encode);
buffer1 = sd.ReadToEnd().Split(new char[] { ' ' });
for (int i = 0; i < buffer1.Length; i++)
{
if (buffer1[i] == buffer[i])
mark = true;
}
}
if(mark == false)
{
wordNumber++;//由空格和“,”分开的算单词
}
}
lineString = lineString.Trim();
//每行有“//”则为注释行
if(lineString.Contains("//"))
{
noteNumber++;
}
//如果此行为空或者空格则为空行
else if(String.IsNullOrWhiteSpace(lineString)|| lineString == "{" || lineString == "}")
{
spaceNumber++;
}
//非注释行和空行,则为代码行
else
{
codeNumber++;
}
}
sb.Close();
fd.Close();
}
}
四、单元测试
五、静态测试
六、总结
通过该项目,让我们完整具体的去体验了一次项目开发与测试过程。在项目的实现过程中,还是会遇到一些困难,不断去改进和完善,体会结对编程的方便。