객체지향 생활체조

Object Calisthenics

TypeScript가 JavaScript에 비해 가지게 된 이점 중 하나는 타입과 강화된 class 문법으로 더욱 객체지향스러운 코드를 작성할 수 있게 되었다는 것이다.

소트웍스 앤솔로지에 나오는 객체지향 훈련법인 객체지향 생활체조를 TypeScript로 정리해보려 한다.

Object Calisthenics(객체지향 생활체조)는 Jeff Bay가 그의 저서 The ThoughtWorks Anthology에서 발명한 9가지 규칙의 집합으로 공식화 된 프로그래밍 훈련이다. Object라는 단어는 Object Oriented Programming(객체지향 프로그래밍)의 Object를 의미하며, Calisthenics라는 단어는 체조의 맥락에서 운동을 의미한다.

규칙을 지키면 자연스럽게 코드 작성 방식이 변경된다. 항상 모든 규칙을 따라야한다는 의미는 아니며, 이 규칙과 균형을 이루고, 그 규칙에 익숙하다고 느끼는 경우에 한해 일부를 사용해야 한다.

규칙들은 코드의 유지보수 가능한, 가독성 좋은, 테스트 가능한, 이해하기 쉬운 코드를 만드는 것에 중점을 둔다.

Last updated