• 个人项目-Wc-Java


    一、Github项目地址:

    https://github.com/Heiofungfming/xiaoming01

    二、PSP表格

    PSP2.1

    任务内容

    计划完成需要的时间(min)

    实际完成需要的时间(min)

    Planning

    计划

      45 

    40

     Estimate

    估计这个任务需要多少时间,并规划大致工作步骤

    45

    40

    Development

    开发

    880

    800

    Analysis

    需求分析 (包括学习新技术)

    60

    90

    Design Spec

    生成设计文档

    30

    -

    Design Review

    设计复审 (和同事审核设计文档)

    10

    -

    Coding Standard

    代码规范 (为目前的开发制定合适的规范)

    40

    40

    Design

    具体设计

    60

    80

    Coding

    具体编码

    400

    510

    Code Review

    代码复审

    30

    30

    est

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

    250

    200

    Reporting

    报告

    450

    180

    Test Report

    测试报告

    300

    370

    Size Measurement

    计算工作量

    30

    -

    Postmortem & Process

    Improvement Plan

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

    60

    80

    Summary

    合计

    2690

       2460

     

    三、解题思路描述

     

    刚拿到题目的时候,题目要求是要求是写一个命令行程序,初步的想法是在cmd命令行里调用所写的程序,然后便回想了一下,好像之前刚开始学Java的时候,就是用cmd命令行进行调用程序的,便用eclipse写了程序运行开头部分的功能部分进行打印,发现并不能用cmd调用程序,后来百度了一下,才发现需要把代码刚开始的包去掉才可以调用。

       解决这个问题之后便开始逐一实现各个功能,先是基本功能,这三个功能在大二学Java的时候写文本编译器的时候实现过(运用字符的输入输出流实现的),所以就翻之前的代码找到了,再略微更改一下直接拿来用了。功能有了,但运行这个功能还缺一个可手动输入的文件路径(原本的文件路径是敲代码直接固定好的),刚好这段时间在重新Java,刚好温习到IO流,就用文件流和字节数组进行文件路径的输入了。

    基本功能解决后就是,扩展功能,先是递归目录下的子文件,然后输出符合指定文件的信息这一功能。这一功能有几个点要解决的:

    1. 递归读取目录下的子文件
    2. 找到符合条件的子文件
    3. 读取文件里面的信息

    列出问题后就找解决方法:

    1. 在之前温习IO流的时候写过一个方法递归调用一个目录下的所有子文件,并输出文件的名字,所以递归这部分相当于解决了
    2. 找符合条件的文件无非是判断文件类型,先想到的是判断文件名,判断文件名也就是文件的后缀名,所以用endwish()判断递归读出的子文件后缀名是否符合条件就可以了。中间遇到一个问题是如何在输入路径+\*c?c这个给拿去判断,原本的想法是分别把路径和后缀符分开输入,但舍友说这样不符合题目要求,在和舍友讨论过后,用正则表达式分隔成两个字符串分别拿去输入就可以了。
    3. 加入基本功能中的方法就OK了。

    再是返回文件注释行,空行,代码行数目的功能,类似基本功能,对不同类型的行存在什么元素,读取后就使对应的变量加一,元素的判断我也百度了一下,需要用到正则表达式,然后过了一遍,再嵌套使用if语句

    最后到高级功能,阅读要求后,要解决的问题:

    1. 图形界面
    2. 可对文件进行选择,并得到该文件的路径
    3. 对文件获取信息

       解决方法:

    1. 图形界面用windowBuilder直接生成
    2. 用一个JFileChooser按钮对文件进行选择,然后用文件流得到文件路径
    3. 整合基本功能和扩展功能,调用2获得的文件路径

    四、设计实现过程

    1. 流程图:

     

     

    2.类的目录结构

     

    3.测试文件

     

    4.功能测试

    4.1 -c功能测试

     

    4.2 -w功能

       

    4.3  -l功能

     

    4.4 -s功能

     

    4.5 -a功能

     

    4.6 -x功能

     

    五.总结

       通过这次个人项目的练习,发现自生还存在着各种不足

    1. 对语言的应用程度不熟悉,时不时的翻看之前的代码,查看自己是否语句有错,或是逻辑出错
    2. 项目刚开始观看的时候没有构建好各种思路,使之后的程序开发出现各种停滞
    3. 代码的规范(总得来说代码的重复率挺多的,原本想构建方法减少代码的重复率,但怕出错耽误时间而选择不采取措施)
    4. 针对以上几点,今后还是要抓紧时间把Java这门语言学精,学深,代码的规范性也要加强。
  • 相关阅读:
    图像的分离合并
    图像旋转与格式转换
    图像的剪切和粘贴
    缩放图像
    遮罩混合
    透明度混合
    Anaconda安装jieba、snownlp等外部包
    anaconda3 中pip安装模块方法
    PHP读取文本文件内容并随机输出任意一行
    php读取在线远程txt文档内容到数组并遍历
  • 原文地址:https://www.cnblogs.com/Heiofungming/p/11588589.html
Copyright © 2020-2023  润新知