ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Clean Code - 3장 함수
    주니어 개발자 2022. 3. 12. 17:56

    1. 한 가지만 해라!

    함수는 한 가지를 해야한다.

    그 한 가지를 잘 해야한다.

    그 한 가지만을 해야 한다. 

     

    지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 한다고 볼 수 있다.

     

    2. 내려가기 규칙

    코드는 위에서 아래로 이야기하는 것 처럼 읽혀야 좋다.

     

    3. Switch문

    47.p 참고

     

    4. 서술적인 이름을 사용하라!

    함수 이름이 길어도 어떤일을 하는지 더 잘 표현한 함수 이름이 훨씬 좋은 이름이다.

     

    5. 깨끗한 코드

    코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행하면 깨끗한 코드이다.

     

    6. 함수 인수

    함수에서 이상적인 인수는 0개(무항)이다.

    다음은 1개이고, 그 다음은 2개이다. 

    3개는 가능한 피하는 편이 좋다.

    4개 이상은 특별한 이유가 필요하다.

     

    인수는 개념을 이해하기 어렵게 만든다.

    특히 테스트 관점에서 보면 더 어렵다.

    인수가 어떤 것 인지 알아야하기 때문이다.

    인수 이름도 함수를 더 이해하기 쉽게 작성하자

     

    7. 많이 쓰는 단항 형식, 플래그 인수, 이항 함수, 삼항 함수, 인수 목록, 동사와 키워드, 부수 효과를 일으키지 마라!, 출력 인수

    51.p ~ 56.p 참고

     

    8. 명령과 조회를 분리하라!

    함수는 뭔가를 수행하거나 뭔가에 답하거나 둘 중 하나만 해야 한다. 

    둘 다 하면 안된다.

    객체 상태를 변경하거나 아니면 객체 정보를 반환하거나 둘 중 하나다.

     

    9. 오류 코드보다 예외를 사용하라!(57.p)

    명령 함수에서 오류 코드를 반환하는 방식은 명령/조회 분리 규칙을 미묘하게 위반한다.

    오류 코드 대신 예외를 사용하면 오류 처리 코드가 원래 코드에서 분리되므로 코드가 깔끔해진다.

     

    10. 반복하지 마라!(60.p)

    소스 코드에서 중복 되는 코드를 반복해서 사용하지 않고 제거한다.

     

    11. 구조적 프로그래밍

    함수 내 모든 블록에 입구와 출구가 하나만 존재햐야 한다.

    즉, 함수는 return 문이 하나여야 한다는 말이다.

    루프 안에서 break나 continue를 사용해선 안 되며 goto는 절대로, 절대로 안 된다.

     

    구조적 프로그래밍의 목표와 규율은 공감하지만 함수가 작다면 위 규칙은 별 이익을 제공하지 못한다.

    함수가 아주 클 때만 상당한 이익을 제공한다.

     

    그러므로 함수를 작게 만든다면 간혹 return, break, continue를 여러 차례 사용해도 괜찮다.

     

    12. 함수를 어떻게 짜죠?

    61.p 참고

Designed by Tistory.