Community

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

← Go back
TIL-Assignment #05(2022.02.23[수])
#clean_code
2년 전
626


TIL (Today I Learned)

2022.02.23

오늘 읽은 범위

3장. 함수

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

작게 만들어라

  • 함수를 만드는 첫째 규칙은 '작게!'다.

한 가지만 해라!

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

함수 당 추상화 수준은 하나로!

  • 추상화 수준을 섞으면 코드를 읽는 사람이 헷갈린다.

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

  • 여러 단어가 쉽게 읽히는 명명법 사용

  • 이름을 붙일 때는 일관성이 있어야 한다.

  • 모듈 내에서 함수 이름은 같은 문구, 명사, 동사를 사용한다.

함수 인수

  • 적을수록 좋다.

부수 효과를 일으키지 마라!

  • 시간적인 결합 temporal coupling

  • 순서 종속성 order dependency

오류 코드보다 예외를 사용하라!

  • 오류 코드 대신 예외를 사용하면 오류 처리 코드가 원래 코드에서 분리

  • Try / Catch 블록 뽑아내기 - 정상 동작과 오류 처리 동작 분리

오류 처리도 한 가지 작업

  • 함수는 '한 가지' 작업만 해야 한다.

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

  • 코드의 깔끔함의 중요성을 많이 느낀 것 같다. 오류 처리 부분에서의 코드 내용에서 느낀 점이 많았다. Try / Catch 블록을 함수로 뽑아내서 사용하니 확실히 코드가 깔끔해져 읽기 편안했다.

  • 이번 파트에는 슬슬 코드들이 많이 등장하기 시작했다. 그렇게 긴 코드들이 아니였고 깔끔하게 정리된 코드에서도 쉽게 이해가 가지 않아서 다른 사람의 코드를 읽는 것이 얼마나 힘든 일인지 알 수 있었다.

  • 코드들을 읽는 과정에서 앞서 학습한 이름의 중요성도 많이 느꼈다. 잘 정의된 이름을 통해 함수가 어떠한 역할을 하는지, 어떤 흐름으로 흘러가는지 유추가 가능했다.

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

추상 클래스

  • 미완성 클래스

  • 인스턴스 생성 불가(다른 클래스 작성에 도움을 주기 위한 것)

  • 상속을 통해 추상 메서드 완성 -> 인스턴스 생성 가능