脚本宝典收集整理的这篇文章主要介绍了第一次个人编程作业,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
课程 | https://edu.cnblogs.COM/Campus/gdgy/cse2021 |
---|---|
作业要求 | https://edu.cnbLOGs.com/campus/gdgy/cse2021/homework/12254 |
作业目标 | 设计并实现一个论文查重算法,学会使用PSP表格规划任务事件,学会测试代码,学会反思总结,基本掌握一个软件的开发流程 |
PSP2.1 | PErsonal Software PRocess Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 | 60 |
· EstiMATE | · 估计这个任务需要多少时间 | 5 | 5 |
Development | 开发 | 10 | 30 |
· Analysis | · 需求分析 (包括学习新技术) | 120 | 120 |
· Design Spec | · 生成设计文档 | 20 | 30 |
· Design review | · 设计复审 | 10 | 10 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 5 | 10 |
· Design | · 具体设计 | 20 | 60 |
· Coding | · 具体编码 | 720 | 1280 |
· Code Review | · 代码复审 | 30 | 60 |
· test | · 测试(自我测试,修改代码,提交修改) | 30 | 30 |
Reporting | 报告 | 60 | 120 |
· Test Repor | · 测试报告 | 20 | 20 |
· Size Measurement | · 计算工作量 | 5 | 5 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 20 | 20 |
· 合计 | 1135 | 1860 |
主要执行文件为PaperPass.js
,接口函数文件为func.js
,单元测试文件为argTest.js
和contentTest.js
,性能测试文件为programTest.js
replace
方法对逗号、换行等干扰符号进行替换levenshteinDistance
计算两个字符串的相似度(核心算法)toFixed(2)
方法保留两位小数nodejieba
分词包fs
读取文件包
分词包的安装和所需环境配置:https://www.cnblogs.com/melodyecho/p/15311425.htMLPaperPass.js
文件执行,在该文件中调用func.js
中的接口node.js
中fs
模块中reaDFileSync
读取文件内容split
方法将字符串以句号分句为一个数组odejieba
分词包对数组的每个元素(即每句话)进行分词levenshteinDistance
总和(核心操作)node.js
中fs
模块中writeFile
写入内容到答案文件中levenshteinDistance
为4levenshteinDistance
值就是那些词句的字符串长度)的levenshteinDistance
值node.js
偏前端语言,无法采用VS 2017/JProfiler
工具进行性能分析,故采用node.js自身的mocha
框架 进行分析,有关mocha的安装与使用:https://blog.csdn.net/fenger_c/article/details/108107492node.js
中的assert
模块,该模块是node.js
的内置模块,主要用于断言。如果表达式不符合预期,就会抛出一个错误,mocha
框架中包含该模块
测试结果如下:
测试用例包含6个文件,每个文件里包含一个原文文件和3个经过增删改其中一个操作后得到的抄袭文件,以及一个答案文件,总共为24个用例,均会产生相应的结果,如图所示:
单元测试环节中测试了以下两个环节:以test5为例: orig.txt:
orig_add.txt: orig_change.txt: orig_delete.txt: orig.txt与orig_add.txt:96.47% orig.txt与orig_change.txt:96.62% orig.txt与orig_delete.txt:67.04% answer.txt:经过这次项目的实践,我大概清楚了一个软件开发的基本流程,在此过程中也学习了node.js前端知识,并且将它用在了实践当中,对node.js的认识又加深了一些
以上是脚本宝典为你收集整理的第一次个人编程作业全部内容,希望文章能够帮你解决第一次个人编程作业所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。