要求零. 作业地址:【https://edu.cnblogs.com/campus/nenu/2016CS/homework/2110】
要求一.我的git仓库地址:【https://git.coding.net/fang-xin/wf.git】
要求二.PSP功能表
PSP2.1 |
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
60 |
60 |
Estimate |
估计这个任务需要多少时间,并规划大致工作步骤 |
60 |
60 |
Development |
开发 |
980 |
1040 |
Analysis |
需求分析 |
60 |
60 |
Design Spec |
生成设计文档 |
40 |
40 |
Design Review |
设计复审 |
0 |
0 |
Coding Standard |
代码规范 |
20 |
40 |
Design |
具体设计 |
100 |
110 |
Coding |
具体编码 |
600 |
660 |
Code Review |
代码复审 |
60 |
50 |
Test |
测试 |
100 |
80 |
Reporting |
报告 |
120 |
230 |
Test Report |
测试报告 |
60 |
120 |
Size Measurement |
计算工作量 |
40 |
60 |
Postmortem & Process Improvement Plan |
事后总结, 提出过程改进计划 |
20 |
50 |
功能模块 |
具体阶段 |
预计时间(min) |
实际时间(min) |
功能1 |
具体设计 |
20 |
30 |
具体编码 |
120 |
150 |
|
测试完善 |
30 |
20 |
|
功能2 |
具体设计 |
50 |
60 |
具体编码 |
140 |
150 |
|
测试完善 |
40 |
45 |
|
功能3 |
具体设计 |
60 |
60 |
具体编码 |
240 |
250 |
|
测试完善 |
30 |
30 |
对预期时间与实际时间不符的分析:
对流程不熟练,太过想当然,于是在构建过程中遇到了很多之前没有想到的问题,然后再费事找解决方案,这让我想起了《构建之法》一书第二章中对实践的强调,有些问题,真的是不遇到就想不到。
要求三 .
在刚拿到作业时我对此毫无头绪,听同学说用Python比较简单,但我对其很不熟练,恰好这学期我们新开了C# 这门和 java语言很向的语言,便决定尝试以此完成作业
首先用main进行数据的输入,注意在参数长度上另行设定
之后便是主体函数,我主要使用util类包
可以看出,我使用dic这个集合对单词进行读入,而不是map
然后用布尔值对输入单词进行是否合法的判定
之后又进行了一些改进,主要将命令对象抽象出来,便于使用。
总结反思
编程是一件很需要整体思维大局观的事情,就算只是自己编一个小程序,如果只图一时方便乱定义不顾整体布局,那你现在省下的时间之后要付出几倍甚至几十倍的时间来弥补。我便是犯了这样的错误。所以,哪怕不考虑第二人的因素,也应像《构建之法》第四章强调的那样,注意代码设计规范,做好代码复审,与人方便,自己方便嘛。