我与我周旋久,宁作我

|

AKAI_CHI

园龄:3年粉丝:22关注:2

第一次个人编程作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade21-12
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13014
这个作业的目标 论文查重

Github地址:https://github.com/1294566108/3121004844

PSP Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30 40
-Estimate -估计这个任务需要多少时间 200 250
Development 开发 400 440
-Analysis -需求分析 (包括学习新技术) 150 90
-Design Spec -生成设计文档 50 60
-Design Review -设计复审 20 35
-Coding Standard -代码规范 (为目前的开发制定合适的规范) 20 20
-Design -具体设计 20 30
-Coding -具体编码 120 180
-Code Review -代码复审 20 40
Test 测试(自我测试,修改代码,提交修改) 60 60
-Reporting -报告 100 100
-Test Report -测试报告 60 60
-Size Measurement -计算工作量 40 20
-Postmortem & Process Improvement Plan -事后总结, 并提出过程改进计划 20 10
合计 1080 1270

开发环境

  • 编程语言:JDK 1.8
  • IDE:Intellij IDEA 2023
  • 单元测试:JUnit-4.12
  • 性能分析工具:JProfiler 14.0

代码组织架构

两个工具类,一个FileUtils.java,另一个EncryptionUtils.java。其中FileUtils用于读取以及写入文件;EncryptionUtils用于计算hash值以及相似度。
运行结果文件result.txt展示:
!

单元测试

针对每一个类都进行了单元测试

public class EncryptionUtilsTest {

    @Test
    public void getSimilarityTest(){
        String filePath1 = "E:\\3121004844\\src\\main\\java\\testFile\\test3";
        String filePath2 = "E:\\3121004844\\src\\main\\java\\testFile\\test4";
        String txtString1 = FileUtils.getFileString(filePath1);
        String txtString2 = FileUtils.getFileString(filePath2);
        String hash1 = EncryptionUtils.getSimHash(txtString1);
        String hash2 = EncryptionUtils.getSimHash(txtString2);
        System.out.println(hash1);
        System.out.println(hash2);
    }
}

public class FileUtilsTest {
    @Test
    public void getTxtStringTest(){
        String filePath = "E:\\3121004844\\src\\main\\java\\testFile\\test1";
        String txtString = FileUtils.getFileString(filePath);
    }
    @Test
    public void iterateFileTest(){
        String filePath1 = "E:\\3121004844\\src\\main\\java\\testFile\\test3";
        String filePath2 = "E:\\3121004844\\src\\main\\java\\testFile\\test4";
        String[] iterateFile1 = FileUtils.iterateFile(filePath1);
        String[] iterateFile2 = FileUtils.iterateFile(filePath2);
    }
}
public class MainMethodTest {

    @Test
    public void test1(){
        new main().main(null);
    }
    @Test
    public void test2(){
        String filePath1 = "E:\\3121004844\\src\\main\\java\\testFile\\test1";
        String filePath2 = "E:\\3121004844\\src\\main\\java\\testFile\\test2";
        String filePath3 = "E:\\3121004844\\src\\main\\java\\ans\\test-result2";
        new main().main(new String[]{filePath1,filePath2,filePath3});
    }
    @Test
    public void test3(){
        String filePath1 = "E:\\3121004844\\src\\main\\java\\testFile\\test3";
        String filePath2 = "E:\\3121004844\\src\\main\\java\\testFile\\test4";
        String filePath3 = "E:\\3121004844\\src\\main\\java\\ans\\test-result3";
        new main().main(new String[]{filePath1,filePath2,filePath3});
    }
}

异常处理

使用自定义的异常,例如FileException,用于在文件相关异常的情况下抛出

性能测试

本文作者:AKAI_CHI

本文链接:https://www.cnblogs.com/akai-chi/p/17709853.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   AKAI_CHI  阅读(24)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起