编程作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/computer-science-class4-2018 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/computer-science-class4-2018/homework/11880 |
这个作业的目标 | 1.完成项目 2.学习使用GitHub |
其他参考文献 | 《软件工程》《构建之法》 |
1.项目链接
https://gitee.com/ll_dl/project-c
2.PSP
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 2h | 2h |
• Estimate | • 估计这个任务需要多少时间 | 3h | 2h |
Development | 开发 | 10h | 15h |
• Analysis | • 需求分析 (包括学习新技术) | 3h | 4h |
• Design Spec | • 生成设计文档 | 1h | 1h |
• Design Review | • 设计复审 | 05h | 0.5h |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 1h | 1h |
• Design | • 具体设计 | 2h | 1h |
• Coding | • 具体编码 | 2h | 2h |
• Code Review | • 代码复审 | 1h | 1h |
• Test | • 测试(自我测试,修改代码,提交修改) | 2h | 2h |
Reporting | 报告 | 1h | 1.5h |
• Test Repor | • 测试报告 | 1h | 0.5h |
• Size Measurement | • 计算工作量 | 0.5h | 0.5h |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 0.5h | 0.5h |
合计 | 29.5h | 34.5 |
3.解题思路
字符统计:
遍历文档字符,通过排除非显示字符,统计显示字符数量;
单词统计:
遍历文档字符,利用变量记录字符是否为英文字母状态,统计进入该状态次数即为单词词数
行数统计:
遍历文档以行为单位的字符串,遍历次数即为行数
特殊行数统计:
历文档以行为单位的字符串,再利用指针遍历字符串;首先判断是否为代码行(优先级最高),其次判断是否为注释行,由于三种行互斥,顾空行数为总行数减去前两者。通过变量记录状态以判断代码行和注释行。
4.代码规范
https://gitee.com/ll_dl/project-c/blob/master/ codestyle.md/ codestyle.md
5.部分关键代码
while(fgets(buffer, 1003, fp)!= NULL){
bufferLen = strlen(buffer);
for( i=0; i<bufferLen; i++){
c = buffer[i];
if( c==' ' || c=='\t'){
!isLastBlank && wordNum++;
isLastBlank = 1;
}else if(c!='\n'&&c!='\r'){
charNum++;
isLastBlank = 0;
}
}
!isLastBlank && wordNum++;
totalNum[0]++;
totalNum[1] += charNum;
totalNum[2] += wordNum;
6.测试
7.性能改进
暂时还没有想到什么好的改进方法
8.心路历程
这次感觉很难,主要是很多以前学过的知识都完了,所以现在很多东西在用的时候都不熟悉,C语言也是,所以这次又去回顾了一下相关知识。