第三次阅读作业


                                                                   第三次作业之结对编程

1:克隆项目地址

  github项目地址:https://github.com/wanyouyingli/WordCount

  结对伙伴作业地址:

2:结对过程及编码照片

    本人编写代码的能力还不是很好所以邀请了大佬结对。

    编码照片:

    

3:结对的PSP表格

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

 25  20

· Estimate

· 估计这个任务需要多少时间

 120  150

Development

开发

 50  60

· Analysis

· 需求分析 (包括学习新技术)

 20  15

· Design Spec

· 生成设计文档

 20  25

· Design Review

· 设计复审 (和同事审核设计文档)

 15  20

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 15  10

· Design

· 具体设计

 60  70

· Coding

· 具体编码

 60  70

· Code Review

· 代码复审

 30  20

· Test

· 测试(自我测试,修改代码,提交修改)

 25  20

Reporting

报告

 25  20

· Test Report

· 测试报告

 25  20

· Size Measurement

· 计算工作量

 20  15

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

 30  15
 

合计

 540  550

4:解题思路描述

     4.1:

            

     阅读了项目需求说明之后:队伍是打算在一个类里面再写上4个方法(分别用来统计字符数,单词数,各单词的出现次数及输出到txt文件)。

5:设计实现过程

    5.1: 按照4步骤开始写代码时意识到需要将文件中的单词存储以及分析,这里用到了字典树参考了温布利往事的博客(https://www.cnblogs.com/my-freedom/p/5701427.html)这里我们编写了1个类及4个方法(分别用来统计字符数,单词数,各单词的出现次数及输出到txt文件)。这里代码为第一个版本。

    5.2:  代码现在已经可以运行成功且结果也正确,由于这些代码的种类不同,混杂在一起对于后期的维护扩展很不友好,所以它们的组织结构就需要精心的整理和优化。将4个方法独立出来编写了三个独立的类,就形成了第二次版本。

    5.3:  程序还需要新增两个功能,词组统计:能统计文件夹中指定长度的词组的词频,自定义输出:能输出用户指定的前n多的单词与其数量。再次修改后得到了第三次版本。

6:代码规范及代码复审

     6.1:  变量及函数的命名:使用驼峰命名法及下划线命名法,不使用单独的字母进行命名。

     6.2:  ” { “  “}”都占用一行,每个函数,类,方法之间都空一行。

     6.3:   代码尽可能简洁,不嵌套。

7:改进程序的时间及思路  8:代码说明

9:心路历程和收获

        由于是第一次进行结对编程所以刚开始还是会觉得困难,当慢慢的分析需求开始编代码之后就会觉得不是那么的难,按照规定一步步的进行也没有遇到太大的困难(有大佬带我),每次遇到问题不要想着不可能解决,应该慢慢的分析稳扎稳打。结对感受的话我是觉得1+1>2。

相关