SmalltalkBestPracticePatterns:2.3

From 흡혈양파의 번역工房
Revision as of 04:27, 6 July 2013 by Onionmixer (talk | contribs) (SBPP 2.3 패턴의 역할 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
2.3 패턴의 역할

패턴의 역할

읽기

이 패턴들은 판매자들이 판매한 스몰토크 이미지 내의 구성에 사용된다 (본문에 나타난 형태와 정확히 동일하진 않더라도). 스몰토크를 처음 사용한다면 이미지에서 코드를 읽는 데 대부분의 시간을 소요할 것이다. 무엇을 기대해야 하는지를 이해하고 코드가 그렇게 생긴 이유를 이해하면 좀 더 빠르고 철두철미하게 읽고 이해할 수 있을 것이다.


개발

개발 중에 당신은 계속해서 동일한 스몰토크 문제에 빠져들게 될 것이다. 문제를 해결하는 데에 본문의 패턴들을 지침으로 사용할 수 있겠다. "이 인스턴스 변수의 이름을 뭐라고 지어야 할까요?" - 기능을 제시하는 인스턴스 변수 이름(Role Suggesting Instance Variable Name)을 펴고 해결방법을 확인하라. 패턴을 여러 번 사용하고 나면 익히게 되어 더 이상 자세한 내용은 확인하지 않아도 될 것이다. 빠른 참조 가이드를 이용하면 무릎에 책 전체를 둔 채로 프로그래밍 해야 하는 수고를 덜 수 있다.


검토

그룹 구성원이 모두 패턴을 알고 사용한다면 그룹 검토가 훨씬 수월해질 것이다. 코드 내 개선의 여지가 있는 부분을 가리킬 때 패턴을 사용할 수 있겠다 - "알겠어요. 그 클래스에 Constructor 메소드를 사용하면 이 세 개의 메소드가 훨씬 간단해질 거예요."


문서화

일반적인 문장을 사용할 경우 패턴을 이용해 시스템을 훨씬 간단하게 설명할 수 있다. 몇 개의 단어로도 다수의 그래프를 대신할 수 있으며 오히려 더 효과적인데, 그 이유는 패턴이 의미하는 바가 훨씬 더 많기 때문이다. "#x:y: 와 #r:theta: 는 Point에 대한 Constructor 메소드이다," 라면 무슨 말인지 알 수 있을 것이다 (표현이 낯설다면 23페이지 Constructor 메소드를 읽어보라).


정리하기

필자는 상담을 할 때 패턴을 이용해 그 자리에 무엇이 있는지 이해하며, 잘못된 것과 필요한 것이 무언지 이해하고 나면 신속한 변경을 준비하여 코드를 정리한다. 보통은 포맷팅 패턴으로 (171 페이지) 시작하여 Composed 메소드(21 페이지)와 Explaining Temporary Variable(108 페이지)로 메소드를 간략화한다. 여기까지 완료되면 중복 코드가 있는 곳을 발견하기가 쉬운데, 이는 향상될 기회를 의미한다.


Notes