精选文章 代码复审结果

代码复审结果

作者:Adele1973 时间: 2012-12-13 09:49:00
Adele1973 2012-12-13 09:49:00

我们进行的是对76er的代码进行审核。

代码问题和优点有以下几点:

1、有无用类,在整个工程中Url类,没有被用到,所以是一个无用的类,存在于代码中。

public class Url {
    // 原始url的值,主机部分是域名
    private String oriUrl;
    // url的值,主机部分是IP
    private String url;
    //URL NUM
    private int urlNo;
    // 获取URL返回的结果码
    private int statusCode;
    // 此URL被别的文章引用的次数
    private int hitNum;
    // 此URL对应文章的汉字编码
    private String charSet;
    // 文章摘要
    private String abstractText;
    // 毛标签
    private String tag;
    // 文章的权重(包含导向词的信息)
    private int weight;
    // 文章的描述
    private String description;
    // 文章大小
    private int fileSize;
    // 最后修改时间
    private Timestamp lastUpdateTime;
    // 过期时间
    private Date timeToLive;
    // 文章名称
    private String title;
    // 文章类型
    private String type;
    // 引用的链接
    private String[] urlRefrences;
    //爬取的层次,从种子开始,依次为第0层,第1层...

 

2、在工程中没有使用MVC的编码风格,视图没有独立出来而是和控制部分交融在一起的,不方便最后的修改和维护。

class CraUi extends JFrame implements ActionListener, Runnable
{
    boolean isStart;
    public String Total="90000000";
    public int Tint;
    JLabel jl2=new JLabel("已访问URL个数     :    " + 0);
    JLabel jl00=new JLabel("要下载网页个数    :");
    JTextField jtf=new JTextField(10);
    JButton jb1=new JButton("打开");
    JButton jb2=new JButton("关闭");
    JPanel jp=new JPanel();
    JProgressBar jpb=new JProgressBar();
    public CraUi()
    {
        this.setTitle("界面");
        jp.setLayout(null);
        jl00.setBounds(30, 20, 280, 30);
        jp.add(jl00);
        jtf.setBounds(150, 20, 280, 30);
        jp.add(jtf);
        jl2.setBounds(30, 130, 280, 30);
        jp.add(jl2);
        jb1.setBounds(50, 180, 80, 30);
        jp.add(jb1);
        jb1.addActionListener(this);
        jb2.setBounds(250, 180, 80, 30);
        jp.add(jb2);
        jb2.addActionListener(this);
        jpb.setBounds(30, 300, 500, 50);
        jpb.setStringPainted(true);
        jpb.setMinimum(0);
        jpb.setValue(0);
        jpb.setIndeterminate(true);
        jp.add(jpb);
        this.add(jp);
        this.setBounds(300, 250, 600, 500);
        this.setVisible(true);
    }

界面类,在程序的主启动类中,没有独出来。

3、还有就是界面的制作使用的是绝对位置和大小,那么界面的大小不可调,不能给用户很好的使用感。

4、有很多地方的异常处理仅仅是形式化的存在而已,并没有对在抛出异常有做处理。这个一个很不好的编码风格

    } catch (HttpException e) {
            // 发生致命的异常,可能是协议不对或者返回的内容有问题
            e.printStackTrace();
        } catch (IOException e) {
            // 发生网络异常
            e.printStackTrace();
        } finally {
            // 释放连接
            getMethod.releaseConnection();

 

5、优点之一是函数都是功能尽量单一的小函数,可能重构过吧,这样会使程序的可修改性和可拓展性变得很强。

6、还有个优点是注释详细;基本重要过程和重要的数据结构都有详细的注释,易懂。

 

最后总体评价下,作为一个程序来说,尽管代码的风格和写法存在一些问题,但是整个程序成功了,那么应该给予肯定,但是存在的这些问题在M2阶段是否会爆发出致命的错误就不得而知了,希望注意。

转载于:https://www.cnblogs.com/coding-hundredOfYears/archive/2012/12/13/2815746.html

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:linux服务器的远程管理网站

下一篇:nagios下 监控内存的插件

您可能感兴趣

  • Kotlin学习之协程

    协程是什么? 一个线程框架,其实就是一套由Kotlin官方提供的线程API。就像 Java 中的 Executor 和 Android 中的 AsyncTask,Kotlin 中的协程也有对 Thread API 的封装,让我们可以在写代码时,不用关注多线程就能够很方便地写出并发操作。 协程好在哪里? 方便。可以在同一个代码块里进行多次的线程切换。 协程最常用的功能是并发,而并发的典型场景就...

  • JetPack WorkManager

    1.概览 官方文档:WorkManager 谷歌实验室:官方教程 官方案例:android-workmanager WorkManger介绍视频:中文官方介绍视频 谷歌工程师博客:https://medium.com/androiddevelopers/workmanager-basics-beba51e94048 Android JetPack实例学习:https://www.jiansh...

  • 不停机还能替换代码?6年的 Java程序员表示不可思议

    相信很多人都有这样一种感受,自己写的代码在开发、测试环境跑的稳得一笔,可一到线上就抽风,不是缺这个就是少那个反正就是一顿报错,而线上调试代码又很麻烦,让人头疼得很。不过, 阿里巴巴出了一款名叫Arthas的工具,可以在线分析诊断Java代码,让人眼前一亮。 ❞ Arthas 是什么? Arthas(阿尔萨斯) 是阿里开源的一个Java在线分析诊断工具。 Arthas 能解决啥问题? 在日常开...

  • IntellIJ IDEA2020新功能

    一、java 1、Java 14支持:记录和模式匹配 IntelliJ IDEA 2020.1添加了对Java 14及其新功能的支持。IDE不仅添加了对Records的完整代码洞察支持,而且还使您能够快速创建新记录并生成其构造函数和组件,并警告存在的错误。您还将发现对instanceof运算符的模式匹配的支持,包括新的检查和快速修复,该快速修复通过用新的简洁模式变量替换它们来快速简化冗长的i...

  • 二本学历,五年抄代码经验,疫情期被裁,三个月25K入职字节跳动

    前言 我的个人背景非常简单,也可以说丝毫没有亮点。 学历普通,计算机专业二本毕业,毕业后出来就一直在一家小公司,岁月如梭细,算了下至今从事Java开发已经5年了,也crud了五年,每天就是抄代码,毫无新意,甚至一度的怀疑人生。 其实很久之前就已经对自己不满了,每次都在想鼓起勇气想去打破困境,去改变自己,然而因为游戏因为玩耍一次又一次的破功;直到这次疫情,强有力的给了我当头一棒。是的,我失业了...

  • Java虚拟机六:Java进程占用cpu过高问题分析

    在平时开发过程中,经常会碰到Java进程占用cpu过高的现象,本篇将简单记录一下自己分析该类问题的步骤。   1.使用 top -p 命令(为Java进程的id号)查看Java进程的cpu占用:      该Java进程占用cpu达到92.2%。   2.使用 top -Hp 命令(为Java进程的id号)查看该Java进程内所有线程的资源占用情况(按shft+p按照cpu占用进行排序,按s...

  • 前端路 - Webpack

    概述 本质 JavaScript 应用程序的静态模块打包器 核心 加载器(Loader)机制 工作流程 配置初始化 webpack 会首先读取配置文件,执行默认配置 编译前准备 webpack 会实例化 compiler,注册 plugins、resolverFactory、hooks。 reslove 前准备 webpack 实例化 compilation、NormalModuleFact...

  • JAVA 集合框架简介

    1. JAVA 集合框架主要分三部分, set , list 和 Map (1)List 列表 特点:列表中的元素可重复, 元素有先后顺序 list 存储以及相关实现类, 如图: 继承list接口的类主要有 LinkedList, Vector, ArrayList。 其中 vector 和 ArrayList底层是数组结构,两者的区别在于 Vector中的方法使用了synchronized...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。