어떤 프로그램이건 가장 기본이 되는 것이 함수다.
(1) 블록과 들여쓰기 : if문 / else문 / while 문 등에 들어가는 블록은 한줄이 되도록 하라
public Money calculatePay(Employee e) throws InvalidEmployeeType{
switch(e.type){
case COMMISIONED : return calculateCommissionedPay(e);
case HOURLY : return calculateHourlyPay(e);
case SALARIED : return calculateSalariedPay(e);
default : throw new InvalidEmployeeType(e.type);
}
}
public abstract class Employee {
public abstract boolean isPayday();
public abstract Money calculatePay();
public abstract void deliveryPay(Money pay);
}
-----------------------------
public interface EmployeeFactory {
public Employee makeEmployee(EmployeeRecord r) throws InvalidEmployeeType;
}
-----------------------------
public class EmployeeFactoryImpl implements EmployeeFactory {
public Employee makeEmployee(EmployeeRecord r) throws InvalidEmployeeType{
switch(e.type){
case COMMISIONED : return new CommissionedEmployee(r);
case HOURLY : return new HourlyEmployee(r);
case SALARIED : return new SalariedEmployee(r);
default : throw new InvalidEmployeeType(r.type);
}
}
}