结对编程

结对编程

Github地址 https://github.com/Corvvus/201831061426.git
结对伙伴 张楠
伙伴学号 201831061423
伙伴博客地址 https://www.cnblogs.com/wxllovezn/p/11683533.html

PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30 50
Estimate 估计这个任务需要多少时间 20 25
Development 开发 200 200
Analysis 需求分析 (包括学习新技术) 50 40
Design Spec 生成设计文档 20 20
Design Review 设计复审 (和同事审核设计文档) 25 25
Coding Standard 代码规范 (为目前的开发制定合适的规范) 15 15
Design 具体设计 100 80
Coding 具体编码 600 630
Code Review 代码复审 25 20
Test 测试(自我测试,修改代码,提交修改) 30 50
Reporting 报告 30 20
Test Report 测试报告 25 30
Size Measurement 计算工作量 30 20
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计 40 50
合计 1200 1275

设计过程

1)设计一个结构体

typedef struct Tree{
	char data[N];
	int count;
	struct Tree *lchild;
	struct Tree *rchild;
}Tree,*bTree;
class Word{
public:
	Word();
	int get_word(int start, int end, char* p, char* word);
	void create_Tree(char* m, bTree& b); 
	void Order(bTree b, FILE* q);
	int sum;
	char temp[N];
	char temp1[N];
	char word[N];
	char file_Name[20];
	int j;
	int i;
};

2)初始化里面的数据

Word::Word()
{
	sum = 0;
	j = 0;
	i = 0;
}

3)获取单词数的函数

int Word::get_word(int start, int end, char* p, char* word)
{
	memset(word, 0, sizeof(char));
	for ( i = start; i<end; i++)
	{
		if (isalpha(p[i]))
		{
			word[j] = p[i];
			j++;
		}
		else if (j == 0)
		{
			continue;
		}
		else
		{
			word[j] = '\0';
			j = 0;
			sum++;
			break;
		}
	}
	return i;
}

5)排序

void Word::Order(bTree b, FILE* q)
{
	if (b != NULL)
	{
		Order(b->lchild, q);
		fprintf(q, "\t%-30s 次数:%-9d\t\n", b->data, b->count);
		printf("\t%-30s 次数:%-9d\t\n", b->data, b->count);
		Order(b->rchild, q);
	}
}

代码会读取输入的文件名,将文件内的内容展示出来,并计算单词数量和出现的次数,将这些数据再写进一个新的文件。

注意:需首先输入要统计的文件的名称,最后在写一个文件名,来导入统计的信息。
运行结果如下:
KPNnVH.png

KPN1RP.png

代码规范

由于是我们两个人共同完成的,所以在写代码时,我较多的运用c++,伙伴更多的使用c语言,但还好大家都严格按照代码规范来写代码,在沟通时并没有出现较大障碍。我们参考的代码规范在这个网站:https://www.cnblogs.com/linuxAndMcu/p/11303688.htmlhttps://zhuanlan.zhihu.com/p/54121195

效能工具测试

我们做了一下效能工具测试,得到了一个大概的效能图
KPt6UA.png

总结

这次的作业是结对编程,很考验两个人之间的合作,一开始有一些沟通障碍,可能是不熟悉的原因吧,但后期的效率有明显的提高,两个人的分工也越来越合理。在解决问题的时候相互协商,大家相互调整了自己的代码,最后才得以将双方的代码结合在一起并成功运行。
KPdzS1.jpg

posted @ 2019-10-16 09:35  醉死的乌鸦  阅读(118)  评论(0编辑  收藏  举报