python 开发exe_python实现wc.exe

二、PSP表格

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)

Planning

计划

30

40

· Estimate

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

30

40

Development

开发

720

1375

· Analysis

· 需求分析

30

45

· Design Spec

· 生成设计文档

30

50

· Design Review

· 设计复审

30

20

· Coding Standard

· 代码规范

20

10

· Design

· 具体设计

90

60

· Coding

· 具体编码

980

1100

· Code Review

· 代码复审

30

30

· Test

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

60

60

Reporting

报告

90

110

· Test Report

· 测试报告

50

60

· Size Measurement

· 计算工作量

15

20

· Postmortem & Process Improvement Plan

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

25

30

合计

1172

1485

三、解题思路

1.命令行参数处理

在主函数中通过获取sys.argv中传入的参数并传入数组,判断数组中是否存在-s指令,若有则将传入的路径作为目录,递归获取路径及子路径下所有文件的带路径名并存入数组。如果无-s指令则传入的路径写入数组。

2.文件统计设计

2.1先将如-s -a这样的指令存入数组,若有-s则在递归获取文件名后删去-s,在main函数中对指令数组和文件名数组进行双重循环,每重循环使用一个指令及一个文件名,随后在choose_option()方法中依据传入的指令选择使用的方法,比如-c指令则会将文件名传入cal_strs()方法中,随后打开文件,依行取出并读取行数。另两个基础功能同理,最后在控制台打印输出结果。

2.2对于扩展功能的流程与2.1相同,区别在于在依行取出内容后使用正则表达式判断该行代码是代码行或是注释行等等。

2.3对于递归的处理,将传入的文件路径作为第一个参数,在方法中判断传入的路径若为路径则将子路径取出并作为参数递归,若为文件则将带路径的文件名返回并添加到数组。这样可以获取路径及子路径下的所有文件的带路径文件名,以供2.1中双重循环使用。

四、设计实现过程

五、测试运行

测试文件:一个空文件、一个只有一个字符的文件、一个只有一个单词的文件、一个标准的python源文件、一个标准的java源文件、一个标准的C源文件。

                 

代码覆盖率

六、项目总结

在这次项目的设计与开发中,我感受到了“程序预则立”的力量,因为先设计好了流程图所以没有像过往一样出现中途卡壳推倒重来的悲剧,这点就很欣慰。。。。另一方面是自己预估的psp时间与实际所用出入还是较大,这部分原因主要在于编码的能力与效率比较低下,花在查找资料并尝试使用的时间上比较多。这次的项目开发中我做测试的部分并没有达到比较高程度的自动化,这一点还是需要在接下来的项目中有所改进,手动测试就还是比较累。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值