개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
하나의 함수는 하나의 기능만!!
중복은 만악의 근원
기본기에 기교를 더해 코드라는 이야기를 풀어라
TIL (Today I Learned)
2024. 06. 225
오늘 읽은 범위
3장. 함수
책에서 기억하고 싶은 내용을 써보세요.
함수는 작게 만들어라
-
if, else, while문 등에 들어가는 함수는 한 줄 이내로
-중첩 구조가 생길만큼 함수가 커져서는 안된다. (가독성이 떨어질 수 있음)
한 가지만 해라
-함수는 한 가지만 잘하면 된다.
-함수당 추상화 수준을 통일할 것
OCP(open closed principle)
-기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계하는 원칙
-확장에 대해선 개방적, 코드 수정에 대해선 폐쇄적
서술적인 이름을 사용하라
-자신의 기능을 명확하고 구체적으로 설명하는 함수명 사용.(조금 길어도 괜찮)
인수는 적을수록 좋다
-매개변수의 갯수를 제한하면 테스팅이 쉬워진다.
-인자는 2개 이하, 그 이상이라면 SRP원칙 위배.
-여러 인수를 써야 한다면 객체로 만들거나 destructuring 활용
하나만 해라2
-함수는 뭔가를 수행하거나 답하거나 하나만 해야 한다.
오류 코드보다는 예외처리
-if문 보다는 try~catch문을 사용하여 예외처리 할것. 본래 코드와 오류 코드를 명확히 분리해준다.
중복은 만악의 근원
-리액트가 component단위인 이유를 생각해보자.
함수는 어떻게 짜죠??
-코딩은 글짓기다. 기능을 구현하고, 단위 테스트 케이스를 만든다. 코드를 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거하고, 매서드 사용을 줄이고, 순서를 바꾼다. 그러면서도 테스트에 통과 해야 한다. 결국 클린코딩은 부단한 노력이 필요하다.
결론
-코딩은 언어의 수단이다. 기본기에 기교를 더해 이야기를 풀어나가야 한다. 함수가 분명하고 정확한 언어로 맞아 떨어져야 이야기를 풀어나가기 쉬워진다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
현재 Typescrip와 React기반으로 코딩을 배우고 있는데 왜 이들이 강력하다고 하는지, 함수형 코딩과 컴포넌트형 코딩, 객체지향형 프로그래밍이 왜 주목받는지 다시한번 생각하게 된다.
이 책의 저자는 끊임없이 기본기와 장인정신을 강조한다. 프론트 엔드 개발자로서 vanilla js 에 대해 잘 알고 있다는 확신이 들도록 기본기를 다시한번 충실히 다져야겠다.
clean code예제를 javascrip로 설명해주는 문서를 찾아 동료 학습자들에게 공유합니다.
https://github.com/qkraudghgh/clean-code-javascript-ko
오늘의 슬랙 한마디