노무현 대통령 배너

마소에서 내가 가장 재밌게 보는 글이 임백준씨의 [SW로 여는 세상]이다. 이번에는 “객체지향, 유닛테스트 그리고 리팩토링 이야기” 라는 주제로 글이 올라왔다. 유닛테스트와 리팩토링은 나도 잘 안다는 생각에 조금 진부하다고 생각했다. 하지만 글을 읽다 보니 흥미로운 부분이 눈에 띄었다.

요구사항이 변경되고 추가되면서 코드의 량도 추가되고 변경되면서 전체적으로 코드의 복잡성이 늘어나게 된다. 즉 코드의 엔트로피는 증가하게 된다. 객체지향의 원리는 이러한 경향을 역전시키는 강력한 도구이다. 객체지향의 원리에 입각하여 프로그램을 작성하게 되면 새로운 기능을 추가하기 위하여 코드를 추가하더라고 소프트웨어의 엔트로피/복잡성은 오히려 줄어들면서, 시스템의 동작방식에 대한 이해가 높아지게 된다.

이러한 객체지향의 원리를 실천하기 위한 도구가 유닛테스트와 리팩토링이다.

모든 내용에 100% 공감하는것은 아니지만 유닛테스트와 리팩토링을 객체지향의 원리와 같이 생각해 본적이 없는 나에게는 참 신선하게 다가왔다.

사용자 삽입 이미지
썬 자바 에벤젤리스트 신상철씨의 인터뷰도 좋았다. 두번의 자바 테크데이을 통해서 그를 직접 볼수 있었고 온라인에서 그가 작성한 자료를 통해서 이미 알고 있었다. 시간이 날때마다 온라인코스의 강의자료를 만든다는 말이 참 부럽게 들렸다. “강의 자료를 만들 때나 새로운 기술이 나오면 어떻게 재미있고 쉽게 전달할 수 있을지 실험합니다. 이 과정에서 다양한 사람들과 만나죠” 나도 가끔 강의를 하러 가지만 누구를 가르친다는것은 참 힘든 작업인데 너무 쉽게 생각하는 경향이 있다.

크리에이티브 커먼즈 라이선스
Creative Commons License
TAG