클린 코드 독서일지 - Day 27
·
독서일지/클린 코드
점진적인 개선 Args 유틸리티를 구현하고 점진적으로 개선한 사례를 보인다. Args는 명령행 인수의 구문 분석을 위한 유틸리티이며 두 개의 매개변수를 받는다. 첫째 매개변수는 형식 또는 스키마를 지정하는 문자열이다. 둘째 매개변수는 구문 분석을 할 명령행 인수 배열이다. 형식 문자열이나 명령행 인수에 문제가 있을 경우 ArgsException이 발생한다. Args 구현 세부 로직을 이름을 붙여 별도의 모듈로 분리했고, 위에서 아래로 읽히도록 호출한 코드 아래에 모듈 코드를 배치했다. 스키마를 parse하는 메서드와 인자값을 parse하는 메서드를 명시적으로 나누었고 각각 호출한다. 인자를 다루는 로직은 인자의 타입별로 ArgumentMarshaler를 파생한 별개의 클래스를 만들어 처리한다. => 새로..