Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Here is an example of the Builder pattern that illustrates my point: https://www.baeldung.com/java-builder-pattern#bd-classic-bui...

Let’s remove the category argument and you get this:

    Post post = new Post.Builder()
      .title("Java Builder Pattern")
      .text("Explaining how to implement the Builder Pattern in Java")
      .build();
This builder is a more readable alternative to this:

    Post post = new Post("Java Builder Pattern", "Explaining how to implement the Builder Pattern in Java", null);
But if Java supported named arguments and default values (the default would be null), this could just be:

    Post post = new Post(title: "Java Builder Pattern", text: "Explaining how to implement the Builder Pattern in Java");




Funny part is that Java does have named parameters, but only for annotations!



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: