第一次个人编程作业
一、GITHUB
二、计算模块接口的设计与实现过程
读入与写入
python的文件处理十分简单,只需要注意不同读入以及不同写入的模式选择和编码方式utf-8,否则读取不了
查重对比
考虑到读行模式,readlines会将文本按行读取,读取后的不同行py会自动加以\n分开,如测试结果
所以我设 lines1 和 lines2 分别为两个输入文件中的所有文本行。先对文件1中的所有行进行遍历,如果文件2中包括文件1的行line,count加1,结果为相同的行的个数与两个文件最大行的比值,当2个文件长度相同,且每一行都相同时,取最大值,这是比较简便的求法。
命令行参数
python使用的命令行参数是argv函数,按照python main.py [参数1] [参数2] [参数3]的格式,可以接受命令行参数,不过有一点需要注意的是诸如pycharm等IDE无法编译通过该部分,会产生下列错误
因为编译器里没有需要填充的列表,所以必须要在终端命令行测试,找到文件后使用上述方法即可测试
三、计算模块接口部分的性能改进
因为当时pycharm不是专业版,没有profile,所以简单使用了python内置的time函数计算了代码执行的时间,无碍。
四、计算模块部分单元测试展示
这个是临时输入测试的结果,上面两行分别是需要比较的文件1和2,第三行则是答案写入的文件,第四行为测试结果
这是使用命令行参数的结果
输出为答案文件
五、总结及PSP
之前py有学,但是模糊于基础知识,画个大框,里面填了什么大概不知,实际运用后发现知识的琐碎与无穷尽,大框填不完,且大框套小框,做起来还是问搜查,搜一个问题的解决方法,另一个问题接踵而至。
| PSP | Personal Software Process Stages | 预估时间/分 | 实际时间/分 |
|---|---|---|---|
| Planning | 计划 | 10 | 10 |
| Estimate | 预计时间 | 60 | 40 |
| Analysis | 需求分析 | 30 | 60 |
| Design Spec | 生成文档 | 130 | 160 |
| Design Review | 复视 | 10 | 20 |
| Coding Standard | 标准 | 10 | 10 |
| Design | 设计 | 160 | 200 |
| Coding | 编码 | 160 | 200 |
| Code Review | 检查 | 10 | 10 |
| Test | 测试 | 30 | 60 |
| Reporting | 报告 | 60 | 60 |
| Test Report | 测试报告 | --- | --- |
| Size Measurement | 工作量 | --- | --- |
| Postmortem & Process Improvement Plan | 总结 | --- | --- |
| --- | 合计 | 670 | 830 |












因为当时pycharm不是专业版,没有profile,所以简单使用了python内置的time函数计算了代码执行的时间,无碍。


浙公网安备 33010602011771号