博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三次作业——结对编程
阅读量:4880 次
发布时间:2019-06-11

本文共 1816 字,大约阅读时间需要 6 分钟。

GIT地址 https://github.com/Decadeeeee/WordCount
GIT地址  Decadeeeee
人员  彭正杰:201731062125 梁江:201731062126
博客地址 https://www.cnblogs.com/pzjdsb/

1.结对项目PSP编写


    我们的项目于4月1日正式开始,在开始编写代码之前,我们先对我们如何完成项目以及对老师布置的作业等进行再一次的商定和讨论。并结合我们平时上课的时间以及项目外等因素,约定了我们一起进行结对编程的时间和地点。最后一起完成了PSP表格的填写:

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

 30

 30

· Estimate

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

 30

 30

Development

开发

 740

 1650

· Analysis

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

 50

 30

· Design Spec

· 生成设计文档

 30

50

· Design Review

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

 30

 50

· Coding Standard

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

 20

 5

· Design

· 具体设计

60

 100

· Coding

· 具体编码

 500

 885

· Code Review

· 代码复审

 30

 50

· Test

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

 20

 500

Reporting

报告

 90

 60

· Test Report

· 测试报告

 50

 30

· Size Measurement

· 计算工作量

 20

 10

· Postmortem & Process Improvement Plan

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

 20

 20

 

合计

 860

 1740

总结分析:这次在项目完成后,发现预估时间和实际耗时相差比较大,其主要表现在开发阶段。由于我们在代码自审和互审阶段,都发现了编码所存在的不规范,所以花了更多的时间去修改代码。还有就是在编码的时候,我们要完成的内容比我们想象得要困难一点,所以在编码的时候花了更多的时间。最后就是测试,这次项目开发采用了TDD,我们要先编写测试代码,再实现接口,这与我们之间采用的方式也不同,所以也花了更多的时间。

2.代码互审


    2.1总体情况分析

        在审查之后发现,队友的代码已经根据了我们一起编写的小组编程规范进行了修改。修改后的代码风格简洁明了,非常容易理解和阅读。但是仍需注意的地方是,方法里的代码注释要写在对应代码的上面而不是后面,这样会使代码阅读更加清晰。除此之外,在互审之后,发现代码存在一个小bug需要进行改正。

   2.2 问题

        出现问题的模块在CountUtil类中的returnWords方法。

        问题是在测试时发现:当一个文件为空的时候,它会返回单词数为1,而且当有两个文件同时测试时,如果第一个文件的单词数比第二个文件的单词数多的话,只显示第一个的单词数。

   2.3  解决方法

        在问题提出后,我和队友一起解决了问题,发现问题出在每次统计单词数目所要用的StringBuffer没有进行清空的操作。

3.设计


   3.1 结构设计

         功能类:主函数类(WordCount类) 接口类(CountUtil类)

        

 

 

         WordCount类:

         

 

        CountUtil类:

       

 

    3.2 类间关系

    

   3.3 WordCount类的流程图(类的介绍再结对伙伴博客里 https://www.cnblogs.com/decade2019/)

       

 

 4.我的代码:

 主函数里的TFile类

 

 WordGet类:(后面代码互审时发现这里筛选英文的条件不行,后面改正了)

改正后:

 

 

  

 

 

总结


 

       在这次结对项目实践完成之后,我发现1+1是大于2的。我们项目完成的效率远比当时我一个人完成的时候要高出很多,而且我们一起编程可以及时解决所遇到的问题和避免一些不必要的问题。避免走了很多的弯路。除此之外,我还学习到了我队员的编程思想和他的学习方式,这些东西都给我带来了很多的启发和新的思路。总得来说,整个项目的完成也比之前的更加顺利和充满动力。提高了我对完成项目的积极性。

 

    

    

 

转载于:https://www.cnblogs.com/pzjdsb/p/10642168.html

你可能感兴趣的文章
【转】iOS应用崩溃日志分析
查看>>
EtherCAT Slave 入门教程 - 邮箱服务(1)
查看>>
java基础------抽象类
查看>>
【poj3537】 Crosses ans Crosses
查看>>
【poj1013】 Counterfeit Dollar
查看>>
Centos7 安装配置Apache+Mysql5.7+PHP7.0+phpmyadmin
查看>>
最佳调度问题
查看>>
10.04 FZSZ模拟Day1 总结
查看>>
RabbitMQ学习以及与Spring的集成(二)
查看>>
Go语言数据类型
查看>>
C# 读取WAV文件(详细)
查看>>
web服务器,验证码,Xftp使用方法
查看>>
Ubuntu 16.04.6 + Win10 双系统时间错误且不一致
查看>>
ora-12899解决方法
查看>>
(8)关于flexbox的一些想法。
查看>>
一台机子同时启动两个相同版本的tomcat
查看>>
剑指offer——python【第29题】最小的K个数
查看>>
带你入门代理模式/SpringAop的运行机制
查看>>
eclipse对离线python的环境搭建
查看>>
要找工作啦
查看>>