代码复审结果
我们进行的是对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阶段是否会爆发出致命的错误就不得而知了,希望注意。
浙公网安备 33010602011771号