개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
2022.02.23
오늘 읽은 범위
3장. 함수
책에서 기억하고 싶은 내용을 써보세요.
작게 만들어라
함수를 만드는 첫째 규칙은 '작게!'다.
한 가지만 해라!
지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 한다.
함수 당 추상화 수준은 하나로!
추상화 수준을 섞으면 코드를 읽는 사람이 헷갈린다.
서술적인 이름을 사용하라!
여러 단어가 쉽게 읽히는 명명법 사용
이름을 붙일 때는 일관성이 있어야 한다.
모듈 내에서 함수 이름은 같은 문구, 명사, 동사를 사용한다.
함수 인수
적을수록 좋다.
부수 효과를 일으키지 마라!
시간적인 결합 temporal coupling
순서 종속성 order dependency
오류 코드보다 예외를 사용하라!
오류 코드 대신 예외를 사용하면 오류 처리 코드가 원래 코드에서 분리
Try / Catch 블록 뽑아내기 - 정상 동작과 오류 처리 동작 분리
오류 처리도 한 가지 작업
함수는 '한 가지' 작업만 해야 한다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
코드의 깔끔함의 중요성을 많이 느낀 것 같다. 오류 처리 부분에서의 코드 내용에서 느낀 점이 많았다. Try / Catch 블록을 함수로 뽑아내서 사용하니 확실히 코드가 깔끔해져 읽기 편안했다.
이번 파트에는 슬슬 코드들이 많이 등장하기 시작했다. 그렇게 긴 코드들이 아니였고 깔끔하게 정리된 코드에서도 쉽게 이해가 가지 않아서 다른 사람의 코드를 읽는 것이 얼마나 힘든 일인지 알 수 있었다.
코드들을 읽는 과정에서 앞서 학습한 이름의 중요성도 많이 느꼈다. 잘 정의된 이름을 통해 함수가 어떠한 역할을 하는지, 어떤 흐름으로 흘러가는지 유추가 가능했다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
추상 클래스
미완성 클래스
인스턴스 생성 불가(다른 클래스 작성에 도움을 주기 위한 것)
상속을 통해 추상 메서드 완성 -> 인스턴스 생성 가능