오늘 TIL 3줄 요약
- ETC(Easy To Change) / DRY(Don't Repeat Yourself)
- 직교성 (관련없는 것들간에 서로 영향이 없도록 하라) / 가역성 (최종 결정이란 없다)
- 예광탄 / 프로토타입 / 추정 = 비개발자와의 소통에 도움
TIL 날짜
- 2022-03-21
오늘읽은 범위
- 2장. 실용주의 접근법
책에서 기억하고 싶은 내용
- ETC(Easy To Change)
잘 설계된 코드 == 사용자에게 맞춰져서 변화된 코드. 따라서 바꾸기 쉬워야 한다.
결합도를 줄이면 좋은이유 : 관심사를 분리함으로써 각각이 바꾸기 쉽기 때문이다.
단일 책임 원칙이 유용한 이유 : 요구사항이 바뀌어도 모듈 하나만 변경하면 된다.
이름 짓기가 중요한 이유 : 코드 읽기가 쉽다 => 코드를 바꾸기 쉽다.
- DRY (Don't Repeat Yourself)
지식의 중복, 의도의 중복 (똑같은 개념을 다른 곳 두군데에서 표현하면 안된다.)
모든 함수에 주석달기 X
재사용하기 쉽게 만들어라!
- 직교성
관련 없는 것들 간에 서로 영향이 없도록 하라.
1. 코드의 결합도를 줄여라
2. 전역 데이터를 피하라
3. 유사한 함수를 피하라
- 가역성
어떤 문제에 대해 한가지 답만 존재해선 안된다.
코드가 rock-n-roll 을 할 수 있게 하라.
오늘 읽은 소감 / 떠오르는 생각
오늘 공부한 내용은 읽으면 읽을수록 왜 실용주의 프로그래머가 20년간 사랑받는 책이었는지를 알 수 있었던것 같다. 가장 기본이지만 가장 실수하기 쉬운 부분들을 비유를 통해 재미있게, 코드예시를 통해 실제로는 어떤식으로 구현이 되는지까지 읽는 순간 대략적으로 파악이 되었다. (단, 피닉스같은 새로운 언어들은 공부가 필요할듯 하다.)
그동안은 막연하게 설계가 필요하니까 설계를 대충하고 코딩작업에 들어갔었는데, 오늘 내용덕분에 효과적으로 설계하고 작업시간을 줄이면서 목표결과물에 도달하는 방법을 어렴풋이나마 깨우칠 수 있었다!
궁금한 내용
65p 의 직교성 연습문제1번을 틀렸는데 사실 아직 정확히 이해를 하지 못했다.
조금 더 공부가 필요할 듯하다.
'Book' 카테고리의 다른 글
실용주의 프로그래머(The Pragmatic Programmer) 챌린지 5일차 TIL (0) | 2022.03.25 |
---|---|
실용주의 프로그래머(The Pragmatic Programmer) 챌린지 4일차 TIL (0) | 2022.03.24 |
실용주의 프로그래머(The Pragmatic Programmer) 챌린지 미션 (1) (0) | 2022.03.22 |
실용주의 프로그래머(The Pragmatic Programmer) 챌린지 2일차 TIL (0) | 2022.03.20 |
실용주의 프로그래머(The Pragmatic Programmer) 챌린지 1일차 (0) | 2022.03.18 |