소프트웨어 공부/프로그래밍

너무 긴 함수와 많은 중첩 구조는 피하라

야곰야곰+책벌레 2021. 4. 20. 14:12
728x90
반응형

짧은 것이 긴 것보다 낫고, 평면적이 것이 깊은 것보다 낫다.

  모든 함수는 그 이름에 맞는 적절한 하나의 역할을 가져야 한다. 여러 개의 작은 요소들이 합쳐서 하나의 긴 함수로 만드는 것은 결코 좋은 방법이 아니다. 너무 긴 라인으로 구성된 함수와 블록(if, for, while, try 등)이 중첩된 구조는 함수의 이해를 힘들게 하고, 관리를 힘들게 하는 주범이다.

 블록을 중첩해서 사용하면 그만큼 코드를 읽는 사람의 입장에서 이해가 힘든 것이 당연하다. 블록을 읽어 내려가다가 내부에 다른 블록이 등장하면 지금까지 읽었던 내용을 기억해 둔 상태에서 새로운 블록의 내용을 모두 파악하고, 다시 기억해둔 내용을 꺼내어 조합해야 하기 때문이다.

 

가능하면 함수의 최대 길이를 제한하는 습관을 가지고, 다음과 같은 가이드라인을 통해 함수의 길이와 중첩 구조를 제어하자.

 

  • 묶기를 선호하라
    하나의 함수가 하나의 역할만을 가지도록 하자.
  • 반복하지 말라
    반복되는 비슷한 코드 조각은 함수로 만들어 재사용 되도록 하자.
  • &&를 활용하라
    if 구조를 중첩하기 보다는 && 조건을 사용하는 것이 좋다.
  • try를 복잡하게 사용하지 말라
    디스트럭터를 사용한 자동 해지 방식을 활용하라.
  • 알고리즘을 활용하라
    루프보다 평면적이고 깔끔하며, 기능도 낫다.
  • 타일 태그에 switch 구문을 사용하지 말라
    다형적 함수가 보다 나은 방법이다.
728x90
반응형