zoukankan      html  css  js  c++  java
  • 第三次作业

    结对编程作业

    本次作业地址 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2882
    伙伴作业地址 https://www.cnblogs.com/lwy276701865/p/10658824.html
    代码github地址 https://github.com/lwy276701865/WordCount.git

     

     

    一、  PSP表格编写

    PSP2.1

    Personal Software Process Stages

    预估耗时(分钟)

    实际耗时(分钟)

    Planning

    计划

     30

     30

    · Estimate

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

     30

     30

    Development

    开发

     660

    1700

    · Analysis

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

     120

     240

    · Design Spec

    · 生成设计文档

     60

     60

    · Design Review

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

     100

     100

    · Coding Standard

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

     30

     30

    · Design

    · 具体设计

     60

     100

    · Coding

    · 具体编码

     240

     1020

    · Code Review

    · 代码复审

     30

     60

    · Test

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

     30

     90

    Reporting

    报告

     60

     50

    · Test Report

    · 测试报告

     20

     20

    · Size Measurement

    · 计算工作量

     10

     10

    · Postmortem & Process Improvement Plan

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

     30

     20

     

    合计

     750

     1780

    二、设计思路与过程

      1、结对过程

       首先在下图位置输入结对伙伴的用户名

     

     

       然后复制链接发给结对伙伴,他点击之后即可拥有自己仓库的读写权限

     

     

     

       下图即为成功邀请伙伴加入自己的仓库

     

     

       这是我们讨论的照片(非摆拍):

     

      2、思路描述

       通过审题发现输入一个文件名后,需要对它进行4种操作,分别是:统计字符数、单词总数、有效行数、单词出现频率最大的10个单词。我们先查阅了面向对象程序设计(C#)教材关于文件的操作。首先需要读取文件,然后对字符串种类进行判断,这时候就需要写不同的函数或类来实现统计了。

       在经过一番讨论后这几个统计功能,我们发现些函数的话太复杂了,所以我们决定用正则表达式,所以我们在网上查阅了正则表达式的相关资料:链接

      3、设计实现过程

       我们编写了一个wordcount类,用来统计各个数据。里面有三个函数:countword,countline,countchar,分别是统计单词数、有效行数、字符数的。

       下面是流程图:

     

     

      4、代码规范

       ①功能注释:在每个函数上面写上它的功能的注释。

       ②变量命名:给变量命名时用英语,不用拼音。

       ③语句规范:使用循环时必须加花括号,并且里面的语句缩进一个TAB。

       ④视觉组织:必要时使用空行和缩进,比如每个函数之间、每个类之间都加一个空行。

       ⑤变量安排有序:定义变量时必须赋初值,一个变量占一行且定义在最前面(不允许在中间出现)。

       ⑥字段:属性全为public,方便后面单元测试。

       ⑦函数命名:函数名首字母大写。

    三、代码审查

      1、类库生成dll组件

     

      2、自审与互审

       自审:我最先写的函数用了许多循环,和伙伴一起分析之后,发现这些函数耗费了许多不必要的时间。于是我们在讨论之后改变了一些算法。

       互审:我们发现两个人写的代码的参数不同,于是经过商量之后同一了函数的参数,并对相关内容进行了修改。然后我们是在做了第一版代码之后才进行的代码规范制定,于是很多之前的函数都需要重新写。

    四、关键代码

      1、统计单词函数

     

      2、统计有效行数函数

     

      3、统计字符函数

     

      4、主函数中的控制函数

     

    五、测试与性能分析

      1、单元测试

       这是测试统计字符数函数的,下面几个函数的测试方法一模一样

     

      2、性能分析

     

    六、感受与总结

      第一次与他人结对编程,总体来说感觉挺好,基本上做出了1+1>2的感觉,在大部分环节中,都能做出互补,遇到问题时,对一个个问题提出了疑惑,并对其做出解决方案后,但是又发现了其他的小问题。然后虽然到最后我们还有一些功能没有实现,但我们还是学到了很多关于结对编程的知识,大概熟悉了是怎样操作的。

  • 相关阅读:
    使用charles proxy for Mac来抓取手机App的网络包
    NProxy——Mac和Linux平台下的Fiddler
    NProxy——Mac和Linux平台下的Fiddler
    NProxy——Mac和Linux平台下的Fiddler
    【HTTP】Fiddler(二)
    ORA-12541: TNS: 无监听程序、监听程序当前无法识别连接描述符中请求的服务
    一些网站
    oracle 11g 创建普通用户
    ORACLE VARCHAR2
    LEFT JOIN , RIGHT JOIN ,INNER JOIN
  • 原文地址:https://www.cnblogs.com/illl1314/p/10658828.html
Copyright © 2011-2022 走看看