Java Language Style de programmation fluide


Exemple

Dans un style de programmation courant, vous retournez this partir de méthodes courantes (setter) qui ne renverraient rien dans un style de programmation non fluide.

Cela vous permet d'enchaîner les différents appels de méthode, ce qui rend votre code plus court et plus facile à gérer pour les développeurs.

Considérez ce code non fluide:

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());
  }
}

Comme les méthodes setter ne renvoient rien, nous avons besoin de 4 instructions dans la méthode main pour instancier une Person avec certaines données et l'imprimer. Avec un style courant, ce code peut être modifié pour:

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());
  }
}

L'idée est de toujours renvoyer un objet pour permettre la construction d'une chaîne d'appels de méthode et pour utiliser des noms de méthodes qui reflètent une expression naturelle. Ce style courant rend le code plus lisible.