Naming convention

From DarkWiki
Revision as of 14:01, 8 February 2020 by Apowney (talk | contribs) (Other)
Jump to: navigation, search

Java naming convention

Getters and setters

  • Getters (get, is)
    • Takes no parameters
    • Does not alter the object in any way; it is constant
    • Can be called multiple times, and in any order
    • Returns a consistent single result
public String getName() {
  return this.name;
}

public boolean isAdult() {
  return true;
}
  • Setters (set)
    • Takes one parameter
    • May or may not alter the object
    • Only affects the object that has the setter; it does not persist anywhere else
    • Can be called multiple times, and in any order
public void setName(String name) {
  this.name = name;
}

Finders & filters

  • Finders (find)
    • Takes zero or more arguments (which act as filter or sorting controls)
    • Does not alter the object in any way; it is constant
    • Can be called multiple times, and in any order
    • Returns a consistent, single, non-null collection result (or an empty Optional) - never null
public List<String> findNames() {
  return Collections.emptyList();
}

public Optional<Person> findById(String personId) {
  return Optional.empty();
}

Factories

  • Factories
    • Responsible for creating objects - not persisting them!
    • Are stateless
  • Factory classes
    • Conform to [ObjectType]Factory naming convention
  • Factory methods
    • Conform to create[ObjectType] naming convention

Other

  • Populator methods (imbue)
    • Only modify the object(s) passed as arguments
    • Does not affect the object's state
public Perosn imbueDefaults(Person person) {
  if(person.getName()==null) {
    person.setName(person.getFirstName() + " " + person.getLastName() );
  }
  return person;
}

Persistance

  • Repositories
    • Conform to [ObjectType]Repository naming convention
    • Methods such as save*, load*, find*, read*, write*, delete*