개발 일반

잊을 때쯤 한번 다시 읽어봐야할 Clean code에 관하여 (함수)

민초부 2021. 3. 15. 19:59
반응형

2. 함수 

 - 이 내용은 TDD, Clean code 스터디 할 때 배웠던 내용이 다수 있다. 

 

  • 함수는 최대한 작게 하라
    • 하나의 기능만 들어갈 수 있도록
    • 함수 당 추상화 수준은 하나로 해야한다. 
      • 즉 if안에 if 넣지 마라
      • 애시당초 if안에 if가 들어가게 되는 구조라면 하나의 function에서 multi 기능을 담당하고 있는 것이다. 
      • Switch문이나 if / else if 등으로 붙는 코드들은 이렇게 지키기는 어렵다고 필자도 인정한다. 그래도 다형적 객체를 생성하는 코드에 한해서만 인정하고 있다. 
  • 같은 모듈내에서의 함수는 어느정도의 일관성이 존재해야한다.
    • 같은 문구, 동사, 명사를 사용하는 것 처럼 
  • 함수 parameter는 3개부터는 가급적 피해야 하고 4개 이상은 반드시 이렇게 해야하는 이유가 있어도 가급적 피해야 한다.
  • 함수 parameter로 flag를 쓰는 건 피해라.
    • 애시당초 parameter로 flag를 받겠다는 것은 flag 값에 따라 다른 역할을 수행하겠다. 즉 2개의 역할을 하겠다는 것이기 때문에 
  • 부수 효과를 추가하지 마라
    • checkpassword 이라는 function 안에 Session.initialize() 와같은 코드를 넣으면 안 된다.
      • function 이름을 바꾸던가 아니면 Session 초기화 하는 것을 빼든가 
    • Try/Catch 함수는 따로 빼라 
  • 구조적 프로그래밍 원칙을 따라라
    • goto 문은 절대로 사용하지 마라
    • return은 하나만 존재해야 하고 break, continue는 가급적 사용하지 마라
      • 저자는 함수가 정말 작아질 수 있다면 return, break, continue를 복수로 사용해도 된다 생각하고 말하고 있다.
반응형