代码先锋网 代码片段及技术文章聚合

My Code Review

检查清单:

1.包名的以及类名的大小写
2.检查import中是否带有“*”,以及删除无用的import
3.避免对参数直接赋值
4.关键字大写
5.不要魔法数

@JAVA:

package imp; 
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import tools.ConnectionManager;

import bean.Book; 
import bean.User; 
import dao.BookDao;
public class BookDaoImp implements BookDao{ 
    public Connection con = null;
    public PreparedStatement ps = null;
    public ResultSet rs = null;

    public int addBook(Book book) {
        // TODO Auto-generated method stub 
        int result = 0; 
        con = ConnectionManager.getConnection();
        String sql = "insert into book(bid,bname,brest,bauthor) value(?,?,?,?)";
        try {
            ps = con.prepareStatement(sql);
            ps.setString(1, book.getbId());
            ps.setString(2, book.getbName());
            ps.setString(3, book.getbRest());
            ps.setString(4, book.getbAuthor());

            result = ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return result;
    }

    public Book searchBook(String bid) { 
        // TODO Auto-generated method stub
        Book book = new Book();
        con = ConnectionManager.getConnection();
        String sql = "select * from book where bid=?";
        try {
            ps = con.prepareStatement(sql);
            ps.setString(1, bid);
            rs = ps.executeQuery();
            while (rs.next()) {
                book.setbId(rs.getString("bid"));
                book.setbName(rs.getString("bname"));
                book.setbAuthor(rs.getString("bauthor"));
                book.setbRest(rs.getString("brest"));
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
        return book;

    }

    public int update(Book book) { 
        // TODO Auto-generated method stub
        int result = 0;
        con = ConnectionManager.getConnection();
        String sql = "update book set bname=?, bauthor=?,brest=? where bid=?";
        try {
            ps = con.prepareStatement(sql);
            ps.setString(1, book.getbName());
            ps.setString(2, book.getbAuthor());
            ps.setString(3, book.getbRest());
            ps.setString(4, book.getbId());

            result = ps.executeUpdate();
            if (result != 0) {
                result = 1;
            } else {
                result = 0;
            }
        } catch (SQLException e) {

            e.printStackTrace();
        }

        return result;
    }


    public List getAllBook() {
        // TODO Auto-generated method stub
        con = ConnectionManager.getConnection();
        String sql = "select*from book";
        List<Book> list = new ArrayList<Book>();

        try {
            ps = con.prepareStatement(sql);

            rs = ps.executeQuery();

            while (rs.next()) {
                Book book = new Book();
                book.setbId(rs.getString("bid"));
                book.setbName(rs.getString("bname"));
                book.setbAuthor(rs.getString("bauthor"));
                book.setbRest(rs.getString("brest"));
                System.out.println(rs.getString("bid") + rs.getString("bname"));
                list.add(book);
            }

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return list;

    }


    public int delete(String bid) { 
        // TODO Auto-generated method stub 
        int result = 0;
        con = ConnectionManager.getConnection();
        String sql = "delete from book where bid=?";
        try {
            ps = con.prepareStatement(sql);
            ps.setString(1, bid);
            result = ps.executeUpdate();
            if (result != 0) {
                result = 1;
            } else {
                result = 0;
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
        return result;

    }

    public List mohuSearch(String bname) { 
        // TODO Auto-generated method stub      
                con = ConnectionManager.getConnection();
        String sql = "select*from book where bname like '%" + bname + "%'";
        List<Book> list = new ArrayList<Book>();

        try {
            ps = con.prepareStatement(sql);

            rs = ps.executeQuery();

            while (rs.next()) {
                Book book = new Book();
                book.setbId(rs.getString("bid"));
                book.setbName(rs.getString("bname"));
                book.setbAuthor(rs.getString("bauthor"));
                book.setbRest(rs.getString("brest"));
                System.out.println(rs.getString("bid") + rs.getString("bname"));
                list.add(book);
            }

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return list;
    }


}

修改的代码:
包名小写

package imp;// 包名小写
import java.sql.Connection;
import java.sql.PreparedStatement;

删除无用import

import tools.ConnectionManager;

import bean.Book;//删除无用import
import bean.User;//删除无用import

类名首字母,应该大写

public class BookDaoImp implements BookDao{//类名首字母,应该大写

/删除没有用的代码

// TODO Auto-generated method stub//删除没有用的代码

类名首字母,应该大写

public Book searchBook(String bid) {//类名首字母,应该大写,改为SearchBook
public int update(Book book) {//类名首字母,应该大写,改为UpDate
public int delete(String bid) {//类名首字母,应该大写,改为Delete
public List mohuSearch(String bname) {//类名首字母,应该大写,改为MohuSearch,并且最好都是英文单词,不是汉语拼音,改为Vageu

版权声明:本文为weixin_30815427原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30815427/article/details/95424218

智能推荐

大厂Code Review 流程

提交cr的流程 检查代码风格(可以安装googlestyle或者Alibaba的一些stylecheck工具,也许各开发团队会有自己的风格规范) 从mainline中同步代码,注意使用(git pull --rebase)而不是(git pull) 测试你的代码,单元测试(UT)覆盖率至少达到90%以上,对于订单相关的组件修改,需要手动完成集成测试(最好通过脚本的方式) 一次提交尽可能的只包含一个...

Code Review 4

总结 代码评审是一种广泛应用的软件质量提升方法。它可以检测出代码中的各种问题,但是作为一个初学课程,这篇阅读材料只提及了下面几个好代码通用的原则: 不要重复你的代码(DRY) 仅在需要的地方做注释 快速失败/报错 避免使用幻数 一个变量有且仅有一个目的 使用好的命名 避免使用全局变量 返回结果而非打印它 使用空白符提升可读性 下面把今天学的内容和我们的三个目标联系起来: 远离bug. 通常来说,代...

代码评审 Code Review

介绍几个轻量级代码检查工具,包括代码静态检查,整理代码等。 无论是自己一个人写代码,还是与其他人合作写代码,都希望能有一份高质量的代码,以便别人或未来的自己可读、可维护和可扩展。 于是往往我们需要代码评审(Code Review)。正式的代码评审已经有不少书籍介绍且与开发环境有关,这里只介绍几个轻量级代码检查工具,方便日常开发过程中提高自己的代码质量。 Python Pylint https://...

Code Review流程

Code Review也就是代码评审。代码评审有两种不同的方法,一种是代码审查(比较正式),一种是代码走查(没那么正式),我们这里讨论的仅指代码走查。 之所以需要代码评审,是因为通常自己对自己写的代码都难以发现问题,因此需要以第二双眼睛再次检查代码,帮助我们及时地发现潜在的问题。 一、代码评审前的前提与准备工作 做代码评审之前,团队成员间需要达成一个共识,制定一份合理的代码规范标准。以此为前提,后...

code review集锦

1.查过3个表的join,改用java进行数据组装 我们经常会遇到前端查询列表,但是列表的数据存在于多个表中。一般少于三个表的话,我们就会使用jion语句来处理。但是超过3个表的话,用jion显然不是好办法。通常就会采用java来处理。 伪代码如下: 2.数据封装过多时,采用异步线程 对于第一个问题,如果一个基础列表查出来,需要封装的数据过多时,可以采用异步线程来处理封装过程。对于使用到线程池的地...

猜你喜欢

Code Review之Groogle安装

由于公司的管理、规范和项目组本身的各种因素,导致代码上一直就存在这很大的问题,几个同事的离职和新人的加入,前几天一看他们的代码,立刻吓了一跳,看来代码的问题已经迫在眉睫了,终于决定把代码审查提上日程。于是开始研究各个开源的代码审查框架,花费了两天时间,成功安装了Groogle和JCR。顺便说一声,国内的资料真少……   Groogle介绍:   Gr...

Golang code review comments 【译文】

翻译自:https://github.com/golang/go/wiki/CodeReviewComments 注释 注释应该是一段完整的语句 注释应该以所描述内容的名字开头,并且以句号结尾 声明空的切片 应该使用: var t []string, 而不是: t := []string{} 前者会避免内存分配,除非使用了append() 不要使用panic 对于普通的错误处理,不要使用panic...

APACHE ZOOKEEPER 3.5.3 CODE REVIEW

导语 zab协议包含两个阶段崩溃恢复与消息广播,基于zookeeper 3.5.3集群启动以及ZooKeeper.setData来分别说明下两阶段的流程。 一.Index 1.1 崩溃恢复 1.2 消息广播 二.reference https://zhuanlan.zhihu.com/p/25332396 从Paxos到Zookeeper-分布式一致性原理与实践 三.下篇 REDIS 3.2.8 ...

APACHE HBASE 1.2.0 CODE REVIEW

导语 以下基于hbase1.2,目前已经出了2.0版本,2.0具体细节没跟过,但是基本思路不变,优化了offheap、AssignmentManager(不再依赖zk做state数据交换,感觉这个思路有点像kafka的GroupCoordinator的思路,启动另一个管理节点,然后通过接口将结果分发到各工作节点,而尽量只用zk做小范围的一致性协调,减小数据写入,毕竟zk的写入吞吐量有限)等优化 一...

APACHE KAFKA 0.10.0 CODE REVIEW

导语 Kafka 0.10.0还未实现Exactly-Once[1],consume虽然可以基于事务实现Exactly-Once,但是produce流程如果ack阶段丢失响应依然会造成日志重复,所以本版本的实现Exactly-Once的方式还是建议采用消费端做幂等来实现。 一.Index 1.1 Produce流程 1.2 Consume流程 1.3 Replicas机制 二.reference ...