Looking for java Keywords? Try Ask4Keywords

Java Language Свободный стиль программирования


пример

В беглом стиле программирования вы возвращаете this из беглого (сеттера) методов, которые ничего не вернут в ненадежном стиле программирования.

Это позволяет вам связывать различные вызовы методов, которые делают ваш код короче и легче обрабатывать для разработчиков.

Рассмотрим этот непрозрачный код:

public class Person {
  private  String firstName;
  private String lastName;

  public String getFirstName() {
    return firstName;
  }

  public void setFirstName(String firstName) {
    this.firstName = firstName;
  }

  public String getLastName() {
    return lastName;
  }

  public void setLastName(String lastName) {
    this.lastName = lastName;
  }

  public String whoAreYou() {
    return "I am " + firstName + " " + lastName;
  }

  public static void main(String[] args) {
    Person person = new Person();
    person.setFirstName("John");
    person.setLastName("Doe");
    System.out.println(person.whoAreYou());
  }
}

Поскольку методы setter ничего не возвращают, нам нужно 4 инструкции в main методе, чтобы создать экземпляр Person с некоторыми данными и распечатать его. С быстрым стилем этот код можно изменить на:

public class Person {
  private  String firstName;
  private String lastName;

  public String getFirstName() {
    return firstName;
  }

  public Person withFirstName(String firstName) {
    this.firstName = firstName;
    return this;
  }

  public String getLastName() {
    return lastName;
  }

  public Person withLastName(String lastName) {
    this.lastName = lastName;
    return this;
  }

  public String whoAreYou() {
    return "I am " + firstName + " " + lastName;
  }

  public static void main(String[] args) {
    System.out.println(new Person().withFirstName("John")
      .withLastName("Doe").whoAreYou());
  }
}

Идея состоит в том, чтобы всегда возвращать некоторый объект, чтобы создать построение цепочки вызовов метода и использовать имена методов, которые отражают естественную речь. Этот свободный стиль делает код более удобочитаемым.