/// <summary>
/// Nomad Coder - 클린코드 챌린지 - 04~05 / 21
/// @author : CloudD
/// @last update : 2025. 05. 27.
/// @update
/// - 2025. 05. 27 : 최초 작성. (3장. 함수)
/// - 2025. 06. 19 : 제목 수정. 형식 정리.
/// </summary>
/// Nomad Coder - 클린코드 챌린지 - 04~05 / 21
/// @author : CloudD
/// @last update : 2025. 05. 27.
/// @update
/// - 2025. 05. 27 : 최초 작성. (3장. 함수)
/// - 2025. 06. 19 : 제목 수정. 형식 정리.
/// </summary>
![]() |
Chat GPT 가 생성한 '개발자의 독서' 이미지 #3 |
어제와 오늘은 3장 "함수" 를 읽었습니다.
책에서 나열한 몇 가지 규칙들을 읽으면서 느낀 점을 적어봅니다.
이 책에서 소개하는 몇 가지 규칙
- 작게 만들어라.
- 한 가지만 해라.
- 함수 당 추상화 수준은 하나로.
- Switch (If/else 가 여럿 이어지는 구문도 마찬가지로) 의 사용은 최소화.
- 서술적인 이름을 사용하라.
- 함수의 인수는 적게 사용하라.
- 부수 효과를 일으키지 마라.
- 명령과 조회를 분리하라.
- 오류 코드보다 예외를 사용하라.
- 반복하지 마라.
- 구조적 프로그래밍 : 단일 입/출구 규칙
기억하고 싶은 문장들
규칙의 나열이 끝난 뒤,
작가는 "함수는 어떻게 짜죠?" 라는 파트에서
자신이 실제로 함수를 작성하는 방법을 소개합니다.
처음에는 길고 복잡한 함수를 만든다. 이름은 즉흥적이고 코드는 중복된다.
하지만 이 모든 코드를 빠짐없이 테스트하는 단위 테스트 케이스를 만든다.
그런 다음 코드를 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거한다.
메서드를 줄이고 순서를 바꾼다. 때로는 전체 클래스를 쪼개기도 한다.
이 와중에도 코드는 항상 단위 테스트를 통과한다.
최종적으로는 이 장에서 설명한 규칙을 따르는 함수가 얻어진다.
처음부터 탁 짜내지 않는다. 그게 가능한 사람은 없으리라.
소감
이번 장을 읽으며, '규칙'보다는
마지막에 소개된 작가의 코드 작성 방식이 특히 기억에 남았습니다.
"구조를 바꾸고 코드를 다듬는 과정에서도, 늘 단위 테스트를 통과하게 만든다."
시간에 쫓겨 단위 테스트 작성을 놓치고 있는 저 자신을
정확히 찔러 주는 문장이었습니다.