mosa-dev
3/16/2020 - 8:48 AM

【初心者】ネーミング

package tables; // パッケージ名が浅い。通常は企業ドメイン(=グループ名=jp.co.someなど)とアーティファクト名(=システム名=expenceなど)がつく

public class Employee {
  private String id;
  private String firstName;
  private String lastName;
  private String department_cd; // camel caseとsnake caseが混じっている
  
}
public class EmployeeDAO {
  /**
   * メソッド名と、処理が合っていない。
   * findAllなら、条件なしにすべてを取得するように思える。
   * findByDepartmentCdなどが適当。
   */
  public List<Emloyee> findAll(String depertmentCd){
    String query = "select * from employee where depertment_cd = ?";
    return sqlRunner.select(query, depertmentCd);
  }
  
  /**
   * メソッド名と、処理が合っていない。
   * insertしかしてない。insertも広義の更新系処理だが、insertに特化した処理ならば、
   * ここでは、create()か、insert()、add()などが適当。
   */
  public int update(Employee emp){
    String query = "insert into employee values {?, ?, ?, ?}";
    return sqlExecutor.executeUpdate(query, emp);
  }
}
/**
 * メソッド名と、処理が合っていない。
 * getの場合は、取得のみにすべき。インスタンスを生成するなら、createが適当。
 */
public EmployeeDAO getDAO(){
  return new EmployeeDAO();
}