개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
// 2022.02.19
오늘 읽은 범위
1장. 깨끗한 코드
깨끗한 코드란?
비야네 스트롭스투룹
깨끗한 코드는 '보기에 즐거운' 코드라고 정의
나쁜코드는 나쁜코드를 '유혹'한다. 흔히 나쁜 코드를 고치면서 오히려 더 나쁜 코드를 만든다는 뜻
세세한 사항까지 꼼꼼하게 처리하는 코드
깨끗한 코드는 '한가지에 집중' -> 각 함수와 클래스와 모듈은 주변 상황에 현혹되거나 오염되지 않은 채 한길만 걷는다.
그래디 부치
코드는 추측이 아니라 사실에 기반해야 한다,
-> 가독성을 중요시 한다.
큰 데이브 토마스
깨끗한 코드란 다른사람이 고치기 쉽다고 단언
-> 인간이 읽기 좋은 코드를 작성해야 한다.
마이클 페더스
'코드를 주의깊게 짜는 방법'
론 제프리스
중복줄이기, 표현력높이기, 초반부터 간단한 추상화 고려하기
워드 커닝햄
코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 깨끗한 코드
보이스카우트 규칙
체크아웃 할 때보다 좀 더 깨끗한 코드를 체크인 한다면 코드는 절대 나빠지지 않는다.
책에서 기억하고 싶은 내용을 써보세요.
나중은 결코 오지 않는다. (p4)
나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못한다.(7p)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
회사생활을 하면서 나쁜코드를 보았을 때, 그 이유가 있었을 것이다. 라고 생각했는데 그건 전문가, 개발자 답지 못한 태도와 생각을 가지고 있었던 것이라는 것을 배웠다. 급해서? 서두르느라? 빨리 끝낼려고? 이런 이유를 가지고 코드를 짠다면 책에서 말하는 바와 같이 고행이 뒤 따를 것이라고 생각한다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
SRP (Single Responsibility) : The single-responsibility principle (SRP) is a computer-programming principle that states that every module, class or function in a computer program should have responsibility over a single part of that program's functionality, and it should encapsulate that part
OCP(Open Closed Principle) : The Open-Closed Principle (OCP) states that software entities (classes, modules, methods, etc.) should be open for extension, but closed for modification
DIP(Dependency Inversion Principle) : The Dependency Inversion Principle (DIP) states that high level modules should not depend on low level modules; both should depend on abstractions. Abstractions should not depend on details. Details should depend upon abstractions.