将请求参数设置为对象的最佳方法

时间:2017-08-09 06:21:34

标签: java performance

我需要你的建议。哪种方式在软件工程方面是最好的(可读性,可用性)

我有对象

public class Person {

    private String name;
    private String surname;

    public Person(String name, String surname) {
        super();
        this.name = name;
        this.surname = surname;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSurname() {
        return surname;
    }
    public void setSurname(String surname) {
        this.surname = surname;
    }


}

我有方法 savePerson

第一种方法是在初始化对象之前将请求参数设置为变量。

public void handle(Map<String, Object> map, HttpServletRequest request) throws Exception {
    String name = request.getParameter("name");
    String surname = request.getParameter("surname");
    Person person = new Person(name, surname);
    personService.savePerson(person);
}

第二种方法是设置请求参数,将它们设置为构造函数参数。

public void handle(Map<String, Object> map, HttpServletRequest request) throws Exception {
    Person person = new Person(request.getParameter("name"), request.getParameter("surname"));
    personService.savePerson(person);
}

3 个答案:

答案 0 :(得分:2)

第一种方式比第二种方式更易读,更容易调试。此外,如果您在Person对象中添加其他字段,则第二种方式将非常混乱。

为了更简单地使用代码,您可以使用Lombok来避免为Person类写入Getter和Setter

答案 1 :(得分:2)

您必须考虑编译器将您的操作转换为一种稍微优化的二进制版本。 您的第二个版本可读性较差,但只有一个代码行。 编译器会为你做,所以你可以根据你的写作风格选择你的版本。 如果你必须与其他人共享你的代码,第一种方法可能是最好的,因为它更简单,并且在执行效率相同的情况下,它可以成为你的判别。

答案 2 :(得分:1)

第一个肯定。它是可读的,说明清晰可见。任何初级开发人员都可以理解它是基本的,所以如果其他人使用这个代码,他/她就很容易做出必要的改变。

必须始终使用可读的代码,以保持结构化和易于管理。