클린코드 : 점진적인 개선도서2024. 7. 27. 23:00
Table of Contents
728x90
728x90
점진적인 개선
어떻게 짰느냐고?
- 프로그래밍은 과학보다 공예
- 깨끗한 코드는 바로 나오지 않는다. 초안부터 작성후 점진적으로 고쳐야 한다
점진적으로 개선하다
- 점진적인 개선을 위해 필요한 것은 TDD
- 점진적으로 수정해도 해당 코드가 유효한지 빠르게 파악 가능
결론
- 그저 돌아가는 코드로 만족하지 마라
- 서두르지 말고 시간을 들여 설계 그리고 개선해 코드를 작성하자
코드
해당 장에서는 대부분 코드의 수정 사항을 보여주면서 어떻게 개선했는지 보여준다.
처음에는 boolean 변수만 수정해서 진행했으나 그 외 String, Integer등 인수의 숫자를 늘리면 늘릴수록 코드는 길어지고 복잡해지며 답도 없어진다. 그래서 인수 유형을 HashMap으로 선언한 다음 스키마 요소를 분석해서 진짜 유형으로 반환 후 get메서드로 반환시켜주는 걸 완성된 코드에서 확인 가능
public Args(String schema, String[] args) throws ArgsException {
marshalers = new HashMap<Character, ArgumentMarshaler>();
argsFound = new HashSet<Character>();
private Map<Character, Boolean> booleanArgs = new HashMap<Character, Boolean>();
-> private Map<Character, ArgumentMarshaler> booleanArgs = new HashMap<Character, ArgumentMarshaler>();
private void parseBooleanSchemaElement(char elementId) {
booleanArgs.put(elementId, false);
-> booleanArgs.put(elementId,new BooleanArgumentMarshaler());
}
private void setBooleanArg(char argChar, boolean value) {
booleanArgs.put(argChar, value);
-> booleanArgs.get(argChar).setBoolean(value);
}
public boolean getBoolean(char arg) {
return falseIfNull(booleanArgs.get(arg));
-> Args.ArguemntMarshaler am = booleanArgs.get(arg);
return am != null && am.getBoolean();
}
String 인수 추가할 때도 이하 동일
참고
https://product.kyobobook.co.kr/detail/S000001032980
728x90
728x90
'도서' 카테고리의 다른 글
객체지향의 사실과 오해 (1) | 2024.09.06 |
---|---|
클린코드 : 시스템, 창발성, 동시성 (0) | 2024.07.21 |
클린 코드 : 오류 처리 , 경계 , 단위 테스트, 클래스 (1) | 2024.07.14 |
클린코드 : 객체와 자료 구조 (0) | 2024.07.07 |
클린코드 : 형식 맞추기 (0) | 2024.07.07 |
@스루나루 :: 스루나루
하고 싶은 걸 하고 되고 싶은 사람이 되자!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!