# 软件技术基础 **Repository Path**: Ivansw/route ## Basic Information - **Project Name**: 软件技术基础 - **Description**: 软件技术基础第二次作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-29 - **Last Updated**: 2024-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # wc.exe #### 介绍 软件技术基础第二次作业 #### 项目说明 1. 实现一个命令行文本计数统计程序。能正确统计导入的纯英文txt文本中的字符数,单词数,句子数(附加统计代码行、空行、注释行) - 命令模式: wc.exe [参数] [文件名] 2. 基本用法 在cmd命令行窗口中拖入wc.exe并输入-p ![输入图片说明](help.png) #### 版本更迭 1. v0.1 空项目 2. v0.2 项目完成基础功能 - 运行结果 ![运行结果](v0.2/%E6%B5%8B%E8%AF%95%E7%BB%93%E6%9E%9C.png) 3. v0.3 项目完成扩展功能(统计代码行、空行、注释行) - 运行结果 ![运行结果](v0.3/%E8%BF%90%E8%A1%8C%E7%BB%93%E6%9E%9C.png) 4. 版本开发中一些错误 - 错误1--v0.2 to sample0--改进:使用正则表达式 ![错误1--v0.2 to sample0--改进:使用正则表达式](v0.2/%E9%94%99%E8%AF%AF1--v0.2%20to%20sample0--%E6%94%B9%E8%BF%9B%EF%BC%9A%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F.png) - 错误2--v0.3 to extra sample--改进:忽略中文路径等导致的error ![错误2--v0.3 to extra sample--改进:忽略中文路径等导致的error](v0.3/%E9%94%99%E8%AF%AF2--v0.3%20to%20extra%20sample--%E6%94%B9%E8%BF%9B%EF%BC%9A%E5%BF%BD%E7%95%A5%E4%B8%AD%E6%96%87%E8%B7%AF%E5%BE%84%E7%AD%89%E5%AF%BC%E8%87%B4%E7%9A%84error.png) - 错误3--v0.2 to sample1--文本不规范导致的多计数空格和换行符 ![错误3--v0.2 to sample1--文本不规范导致的多计数空格和换行符](v0.2/%E9%94%99%E8%AF%AF3--v0.2%20to%20%20sample1--%E6%96%87%E6%9C%AC%E4%B8%8D%E8%A7%84%E8%8C%83%E5%AF%BC%E8%87%B4%E7%9A%84%E5%A4%9A%E8%AE%A1%E6%95%B0%E7%A9%BA%E6%A0%BC%E5%92%8C%E6%8D%A2%E8%A1%8C%E7%AC%A6.png) - 错误4:找不到测试文件(单元测试时) ![错误4:找不到测试文件(单元测试时)](performance%20test/%E9%94%99%E8%AF%AF4%EF%BC%9A%E6%89%BE%E4%B8%8D%E5%88%B0%E6%B5%8B%E8%AF%95%E6%96%87%E4%BB%B6.png) #### 单元测试 1. 使用了python自带的unittest单元测试 test case:自动化测试用例,一个TestCase的实例就是一个测试用例 将测试文本直接写入代码解决了上面的错误4 - performance test result ![performance test result](v0.3/%E8%BF%90%E8%A1%8C%E7%BB%93%E6%9E%9C.png) #### 感悟 - 这次作业的过程对我来说很长,先是拾起之前大一学的python语言,然后从之前的Thonny编辑器换成更好的Pycharm,从之前python课上的输入输出再从CSDN,bilibili上学习使用argparse包装成命令行,最后再学习unittest相关的performance test - 我完成了以前小时候想做到的基础--这样一个比较简单的程序,相信这样的事实会为我的未来带来一些动力