个人作业Week7

时间:2022-04-20 21:40:01

1.在做个人项目的时候,由于很久都没有写这么大的程序了,对程序的感觉还没有恢复,因此,没能完全完成个人项目。现在回去看个人项目的代码(针对完成的代码来看),完全就是一个大泥球,代码的结构性太差,基本上都是冗杂在一起,拼凑在一起从而实现了功能。自然而然地,程序就不那么美观,也不那么好懂,更不那么好调试了。

2.在结对项目中,和小伙伴搭档得很不错,一方面是小伙伴的程序写得很好,容易懂,另一方面是我们的时间安排得很合理,于是很高效地就完成了结对项目。当我首先拿到小伙伴的代码的时候,我对比了一下,同样是用C++编写的:首先,她用了很多我没用(当然是因为不知道)的功能,当我还在傻傻的用C实现一些C++中有的库函数时,她的功能早已实现了;其次,她将各个功能的函数放在了不同的.h文件中,而我却把所有的代码放在了一个.cpp文件中,给人的感觉就是看了代码行数就不再想继续看下去了。我们的团队项目完成的过程中,需要完成界面功能。但是,在C++中写界面是一件特别复杂的事情,现学太耗时间,于是,我们又利用了C#的写界面的简洁性,利用dll很容易地完成了界面的功能,这就是减少了一些附属性的时间吧。

3.在团队项目的完成过程中,首先要感谢我们有一个很负责任的PM,因此,团队的效率很高,进度与预期相差不多。我们团队项目是做一个物理网站。对于一个网站来说,有一下模块:网站的逻辑结构搭建,这部分内容由团队的一个大神来完成(他能力很强,也很好沟通,因此这部分内容完成得相当的好,让我们特别佩服,当然这是题外话);网站的前端设计,这部分由另外一个大神带着团队中的另外一个人在做;数据处理,这部分内容是由其他团队成员在做(数据量大,所以需要更多的人来完成)。

我是负责数据处理部分的,对这部分比较了解,下面就说说做这部分的时候的一些感受吧。由于需要与用户有交互,需要根据用户的输入数据来进行数据处理,从而生成实验报告,所以我们运用了Python中的template功能,将Latex文本中的数据处理部分替换掉,然后利用Latex生成了效果特别好的数据处理pdf(word简直不能比)。这样一来,就这一部分就使用了Python,Latex这些软件,而这些在我们开始团队项目之前,PM就已经做好规划了(点赞)。最开始的时候,有一个物理实验需要进行图像处理,因此我们还准备采用Matplotlib这个python中强大的图形处理工具,并且进行了学习,但是后面由于时间上的关系,将其暂时延后了。

在开发过程中,虽然开发人员多,但是人多的效果并不明显,我觉得还没有人少的效果好。

一份实验报告的生成的流程为:用户输入数据---前端传XML给后端---后端对XML进行解析得到数据---利用Python进行数据处理和文本替换---利用替换后的Latex文本生成PDF---将PDF传给前端。书写Python的数据处理文件是交给三个人来完成的(其中就有我),而Python中的渲染和Latex文本的编写是由我和另外一个队员完成的,因此,在文件对接的时候,有各种问题:Python文件中的变量和Latex文本中的变量问题、数据处理结果的反馈问题、Python的代码风格问题等。所以,我和另外一个小伙伴在写Latex和渲染的时候花了不少的时间修改Python代码。这些问题和最初的规划有很大的关联,如果开始的时候就把接口定义好,问题可能不会这么明显(因为我在两部分都做了东西,当我独自完成一个实验的Python文件和Latex文本的时候,感觉很容易)