第4周小组作业:WordCount优化

一.GITHUB地址

github地址:https://github.com/yo123abxd/wordcount2.git

二.PSP表格

 

 

PSP2.1表格

 
 

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

   

· Estimate

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

 400-600  

Development

开发

   

· Analysis

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

 30  40

· Design Spec

· 生成设计文档

 30  35

· Design Review

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

 30  30

· Coding Standard

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

 40  45

· Design

· 具体设计

 50  60

· Coding

· 具体编码

 60  80

· Code Review

· 代码复审

 50  50

· Test

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

 40  60

Reporting

报告

   

· Test Report

· 测试报告

 30  30

· Size Measurement

· 计算工作量

 20  20

· Postmortem & Process Improvement Plan

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

 30  35
 

合计

 410  485

三.接口设计

这次作业我负责的是输入控制模块,通过设计代码规范,我在input.cpp中实现输入控制,符合要求的文件读取并传给核心模块。

#include "input.h"
std::vector<std::string> Input::getInput(const std::string& fileName) {
    std::fstream in(fileName);
    std::vector<std::string> out;
    std::string s;
    while(getline(in, s)) {
        std::string s1;
        Switcher swch;
        swch.switcher(s);
        for(int i = 0; i < s.size(); i++) {
            if(s[i] == ' ' || (s[i] <= 'z' && s[i] >= 'a') || (s[i] == '-' && i - 1 >= 0 && i + 1 < s.size() && s[i - 1] <= 'z' && s[i - 1] >= 'a' && s[i + 1] >= 'a' && s[i + 1] <= 'z')) {
                s1.push_back(s[i]);
            }
        }
        out.push_back(s1);
    }
    in.close();
    return out;
}

其中for循环判断是否符合要求

四.测试用例设计

主要通过黑盒测试进行各种后缀名的测试和文件类型的测试以及相应的等价类测试。

五.小组评价

在大家合作之下,完成了任务,小组评分0.26。

 

扩展任务

一.代码规范说明

参考了Google的C++代码规范,变量名,函数定义等按照其格式设计。

二.同组代码审评

我分析类组员汤家伟的代码,其代码符合规范,逻辑清楚,格式工整,值得学习。

三.代码检查工具

使用的是CPPlint工具进行的检查。

posted @ 2018-04-08 18:47  安兹乌尔恭  阅读(177)  评论(1编辑  收藏  举报