Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL-Assignment #5 3장.함수
#clean_code
2년 전
389


TIL (Today I Learned)

2022.02.22

오늘 읽은 범위

3장. 함수

책에서 기억하고 싶은 내용을 써보세요.

  • 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안 된다. 당연한 말이지만, 그래야 함수는 읽고 이해하기 쉬워진다. (P. 44)

  • 함수당 추상화 수준은 하나로! : 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한가지 작업만 한다. (P. 45)

  • 함수 이름을 정할 때는 여러 단어가 쉽게 읽히는 명몀법을 사용한다. 그런 다음 여러단어를 사용해 함수 기능을 잘 표현하는 이름을 선택한다. (P. 49)

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

  • 함수는 뭔가를 수행하거나 뭔가에 답하거나 둘 중 하나만 해야 한다. 둘 다 하면 안된다. (P. 56)

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

  • try/catch 블록을 별도 함수로 뽑아내는 편이 좋다. (P. 58)

  • 루프 안에서 break나 continue를 사용해선 안되며 goto는 잴대로 절대로 안된다. (P. 61)

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 함수에서 작업을 한가지만 하라는 원칙을 설명하는 내용 중에 '근본 개념과 세부사항을 뒤섞기 시작하면, 깨어진 창문처럼 사람들이 함수에 세부사항을 점점 더 추가한다.' 가 있는데 협업개발을 하다보면 원칙이 무너지는 순간 코드는 개발자 마다 제 각각의 형식으로 뒤덮이고 순식간에 더러워지게 디는 경험을 했기에 뼈저리게 느껴지는 항목입니다.

  • 함수를 간결하고 다른 사람이 쉽게 파악할 수 있는 형태로 작성할 수 있도록 가이드를 줬다고 생각하고 코드리뷰 과정에서 이 책의 내용을 최대한 반영해야 겠다는 생각입니다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • SRP : 단일책임원칙, "클래스는 단 한 개의 책임을 가져야 한다."

  • OCP : 개방-폐쇄 원칙, 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에 대해서는 열려 있어야 하지만 변경에 대해서는 닫혀 있어야 한다. 이것은 interface 를 통해 구현하여 해결한다.