반응형
UML, 실전에서는 이것만 쓴다 - 8점
로버트 C 마틴 지음, 이용원 외 옮김/인사이트

이책은 UML문법에 대해 친절하게 가르쳐 주지 않는다. 책 제목처럼 정말 실전에 쓰이는 문법만 설명을하고 그나마도 그냥 이런게 있다 정도로 설명을 한다.

그래서 UML이 뭔지도 모르는 사람은 이책을 보기전에 간단한 UML 책 한권쯤은 보기를 권한다. 물론 공부하라는 것은 아니고 그냥 이런게 있구나 정도로 보고 이 책을 보면 조금 더 감이 잘 올 것이다.


이 책은 UML에 대해서는 정말 명확하게 정의 한다. 이런 땐 이것을 사용하고 저럴 땐 저것을 사용한다. 그리고 나머지 UML 표기법은 사용할 일이 없을 테니 버려라...

10여년간을 설계만 전문으로 해온사람이 사용 안한다면 안하는거다... 아주 마음 편히 버려주면 된다.

그리고 UML은 절대적으로 그려야만 하는 것이 아니라는 점을 절대적으로 강조한다. UML을 그릴때는 구조를 파악하고 싶을 때와 다른 사람과 의사소통을 위해서 뿐...

따라서 저자는 가급적 UML을 그리지 말기를 권장한다. UML을 공부하려고 UML 책을 봤는데 처음부터 UML을 그리지 말고 차라리 그 시간에 코딩을 하라니...

정말 아차 싶었다. 결국 UML도 하나의 문서일 뿐이고 문서는 반드시 필요한 것이아니고 코드를 설명하는 보조수단이라는 것을 왜 깨닫지 못 했던 것일까...


이 책이 대단한 것은 UML 뿐만 아니라 객체지향설계와 프로젝트 방법론인 XP에 대해서도 다룬다는 점이다.

따라서 UML이 객체지향을 어떻게 나타낼 수 있는지 알 수 있고 왜 그렇게 UML 그리는 것을 아끼라고 했는지도 이해할 수 있었다.


마지막으로 이 책이 가장 강조하는 것은 단위 테스트이다. 

XP 방법론에 있는 테스트 주도 계발을 말하는 것인데...

클래스를 만들기 전에 테스트 클래스를 먼저 작성하고 테스트가 통과하도록 클래스를 만든다.

그러면 클래스를 변경할 때도 정해진 규칙(테스트 클래스)이 있기 때문에 변경을 두려워하지 않게 되고, 테스트 코드 자체가 클래스의 사용법을 알려주는 문서 역할을 하게 된다.

따라서 반복적이고 점층적인 개발을 하는 XP의 방법론에서는 반드시 필요한 방법이다. 왜냐하면 다음주기에서는 코드가 변할 가능성이 굉장히 크기 때문이다.

단위 테스트는 나의 프로그래밍 습관으로 굉장히 가치가 높을 것 같다. 이번 기회에 꼭 익혀놔야겠다.


아무튼 이렇게 어려운 주제(UML, 객체지향, XP)에 대해 단순하고 깔끔하게 정리한 저자에게 경의를 표한다~


아래 링크는 내가 책을 보고 개인적으로 정리한 것이다.

http://lazyartist.springnote.com/pages/1704600

반응형

+ Recent posts