코드와 함수, 이렇게 작성하라 | 클린코드 챌린지 (04~05 / 21)

/// <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장 "함수" 를 읽었습니다.
책에서 나열한 몇 가지 규칙들을 읽으면서 느낀 점을 적어봅니다.


이 책에서 소개하는 몇 가지 규칙

  1. 작게 만들어라.
  2. 한 가지만 해라.
  3. 함수 당 추상화 수준은 하나로.
  4. Switch (If/else 가 여럿 이어지는 구문도 마찬가지로) 의 사용은 최소화.
  5. 서술적인 이름을 사용하라.
  6. 함수의 인수는 적게 사용하라.
  7. 부수 효과를 일으키지 마라.
  8. 명령과 조회를 분리하라.
  9. 오류 코드보다 예외를 사용하라.
  10. 반복하지 마라.
  11. 구조적 프로그래밍 : 단일 입/출구 규칙

기억하고 싶은 문장들

규칙의 나열이 끝난 뒤,
작가는 "함수는 어떻게 짜죠?" 라는 파트에서
자신이 실제로 함수를 작성하는 방법을 소개합니다.

처음에는 길고 복잡한 함수를 만든다. 이름은 즉흥적이고 코드는 중복된다.

하지만 이 모든 코드를 빠짐없이 테스트하는 단위 테스트 케이스를 만든다.

그런 다음 코드를 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거한다.

메서드를 줄이고 순서를 바꾼다. 때로는 전체 클래스를 쪼개기도 한다.

이 와중에도 코드는 항상 단위 테스트를 통과한다.

최종적으로는 이 장에서 설명한 규칙을 따르는 함수가 얻어진다.

처음부터 탁 짜내지 않는다. 그게 가능한 사람은 없으리라.


소감

이번 장을 읽으며, '규칙'보다는
마지막에 소개된 작가의 코드 작성 방식이 특히 기억에 남았습니다.

"구조를 바꾸고 코드를 다듬는 과정에서도, 늘 단위 테스트를 통과하게 만든다."

시간에 쫓겨 단위 테스트 작성을 놓치고 있는 저 자신을
정확히 찔러 주는 문장이었습니다.


CloudD

예술하는 프로그래머, 코딩하는 예술가

댓글 쓰기

다음 이전