ABOUT ME

Today
Yesterday
Total
  • 노개북 클린코드 챌린지 #05
    노개북 2022. 2. 24. 00:54

    제 3장 함수

     

    함수는 프로그램의 가장 기본적인 단위

     

    좋은 함수를 만드는 규칙

    • 함수는 작아야 한다.
      • 중첩 구조가 생길 만큼 함수가 커져서는 안된다.
      • 들여쓰기 수준이 1~2단을 넘어서면 안 된다.
    • 함수는 한 가지만 해야한다.
      • 함수 내 모든 작업의 추상화 수준이 동일해야 한다.
      • 내려가기 규칙 : 위에서 아래로 코드를 읽으면 함수 추상화 수준이 한 번에 한 단계씩 낮아진다.
      • switch 문은 가급적 피하자
      • 명령과 조회를 분리하기 : 함수는 무언가를 수행하거나 무언가에 답하거나 둘 중 하나만 해야 한다.
    • 함수의 이름을 서술적으로 지어라. 길어도 괜찮다.
    • 함수의 인수는 특별한 이유가 없다면 적어야 한다.
    • 오류 코드 대신 예외 처리가 깔끔하다
    • 반복하지 마라

     

    함수를 짜는 법

    함수를 처음부터 보기 좋게 짜내긴 힘들다. 글을 쓸때 초안을 쓰고 문장을 고치고 문단을 정리하는 것 처럼, 코드를 짤 때에도 초안에서 함수를 만들고, 이름을 바꾸고, 중복을 제거한다. 메서드를 줄이고 순서슬 바꾼다. 때로는 전체 클래스를 쪼개기도 한다. 이 와중에도 코드는 항상 단위 테스트를 통과한다. (p.61)

     

     

     

    ---

     

    추상화라는 개념이 무슨 뜻인지는 감이 오는데 코드에 적용하려고 하면 헷갈린다. 이게 같은 단계의 추상화가 맞는지, 하나의 일만 하게 짠게 맞는지... 연습을 통해서 감을 익히는 수 밖에 없는건지 좀더 명확한 기준이나 가이드라인이 있는지도 찾아봐야겠다.

     

     

    궁금한 내용

     

    추상화, Abstraction : https://black7375.tistory.com/6

    SRP (Single Responsibility Principle, 단일 책임 원칙) : 클래스는 단 1개의 책임만 가져야 하며 변경되는 이유도 1개여야 한다는 원칙. (출처 : https://brownbears.tistory.com/562 )

     

     

    '노개북' 카테고리의 다른 글

    노개북 클린코드 챌린지 #09~  (0) 2022.03.02
    노개북 클린코드 챌린지 #06~08  (0) 2022.03.01
    노개북 클린코드 챌린지 #02~04  (0) 2022.02.22
    노개북 클린코드 챌린지 #01  (0) 2022.02.18
Designed by Tistory.