우아한테크코스의 함수 길이·중첩·원시값 포장·getter 제한 같은 프로그래밍 요구사항을, 임의의 족쇄가 아니라 '객체지향 생활 체조'를 훈련시키는 장치로 재해석한다. 각 규칙이 어떤 설계 감각을 기르려는 것인지 연결 관계를 풀어 보여주되, 실무에서는 맥락과 트레이드오프를 함께 봐야 한다고 못 박는다.
핵심 포인트- 함수를 짧게·한 책임으로 나누면 상위 함수가 목차처럼 읽히고, 중첩·else·switch·삼항 제한은 복잡한 분기를 작은 함수와 빠른 반환으로 풀어 인지 부하를 낮춤
- 원시값을 도메인 객체로 감싸면 생성 시점 검증·타입 안전·관련 행동을 한곳에 두고, 일급 컬렉션은 목록 노출 대신 합계·검증 책임을 내부에 모아 데이터가 아닌 의미로 협력하게 함
- 필드 많은 God Object는 서로 다른 변경 이유를 한 클래스에 모으므로, 엔티티·인스턴스 변수 수 제한이 주소·연락처 같은 개념을 별도 객체로 분리하도록 유도
- getter로 상태를 꺼내 밖에서 판단하는 대신 의도를 담은 메시지를 보내는 Tell, Don't Ask와, 먼 객체 내부를 연쇄 탐색하지 않는 디미터 법칙으로 캡슐화를 강화
왜 읽나코딩 컨벤션을 지키긴 하지만 '왜'를 몰랐던 학습자에게, 각 제약이 겨냥하는 객체지향 원리를 연결해 규칙을 훈련 도구로 받아들이게 한다.