第三次作业

 

一、结对过程

在文章开头给出你们Fork仓库的Github项目地址。(5')

 

Github项目地址

 https://github.com/trcccc/WordCount.git

结对伙伴的作业地址

 https://www.cnblogs.com/swpu-ww/p/10652009.html

我的博客地址

https://www.cnblogs.com/trcdbk/

作业链接

 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2882

1. PSP表格

PSP是卡耐基梅隆大学(CMU)的专家们针对软件工程师所提出的一套模型:Personal Software Process (PSP, 个人开发流程,或称个体软件过程)。

 

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

 30 20

· Estimate

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

60 50

Development

开发

 600  550

· Analysis

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

 60 240

· Design Spec

· 生成设计文档

 40  20

· Design Review

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

 20 60

· Coding Standard

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

10  10

· Design

· 具体设计

 40 60

· Coding

· 具体编码

 180 260

· Code Review

· 代码复审

 25  20

· Test

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

 40 50

Reporting

报告

 70  60

· Test Report

· 测试报告

 40  30

· Size Measurement

· 计算工作量

 30

 20

· Postmortem & Process Improvement Plan

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

 30  20
 

合计

1295  
1470
            描述结对的过程,提供非摆拍的两人在讨论的结对照片(一起工作编码时的照片)。 

 

解题思路:

一 .基本功能 

  此次题目基本功能分为三步。一是统计文件的字符且不考虑汉字,二是统计文件的单词总数并且记录器出现次数并输出,三是有效行数。

我将每个功能用一个方法去实现

下图时我创建的类和方法

 

  • CountLine类用于统计行数
  • CountChar类用于统计字符总数
  • CountWord用于储存单词以及单词词频
  • CountLine() 用于统计行数
  • CountChar() 用于统计字符总数
  • CountWord() 用于统计单词总数

 程序流程图

 

 

  在统计单词数目时我选择了dictionary字典类,以单词为键,频率为值储存

  将文档里的单词输入到字典类里,并计数。

  输出字符大于3的单词与其频率

 

  统计行数

  统计单词数  

通过if语句来筛选字母数多于3的单词并计数。

  统计字符数

 

接口封装

  将方法封装成dll

 

 代码互审过程:

  由于一些功能没有实现,所以我们互审主要基于代码的格式和已实现功能的纠错。

  1. 命名变量、函数时不要随意取名,最好有相关意思,采用大驼峰命名法。避免过多地描述和可要可不要的修饰词。
  2. 尽量使代码简明易读,无二义性。
  3. 在复杂的表达式中,用括号清楚地表示逻辑优先级。
  4. 断行,每个“{” “}”独占一行,一一对应。
  5. 给出关键的注释。

建立单元测试:

建立单元测试需重新引用之前的接口

 测试结果:

效能测试:

 

 

结对照片

 

 

 总结

   本次结对项目较难,很多东西也不懂,在网上找了很久,虽然做了很多天,但有些功能最后也没有实现。在和队友商量后也没有解决,只把自己能做的写了出来。在编程过程中,通过代码互审,互相找到了对方代码的不足,并改正。很多之前不知道的东西在此次作业中出现,由于并不了解,所以做的很粗糙。在此次作业中深刻地认识到了自己的差距,会在之后的学习中更加努力,争取以后的作业不会出现此次情况。

  此次结对1+1<2,由于自身的原因,且并没有真正领略到结对编程的含义,导致大多数代码是两个人各自完成,最后再来对照纠错,以及并不熟悉别人的想法导致效率的低下,结对编程比较要求两个人的水平相近。

posted on 2019-04-05 19:09  wandered  阅读(298)  评论(2编辑  收藏  举报