책책책book/실용주의프로그래머

[실용주의 프로그래머] 스터디 3주차_2강 실용주의 접근법

햄❤️ 2022. 5. 16. 19:28
728x90

Topic 8. 좋은 설계의 핵심
 
- 좋은 설계는 나쁜 설계보다 바꾸기 쉽다. (ETC = Easier to Change)

 - 결합도를 줄이면 좋은 이유? 관심사를 분리함으로써 각각 더 바꾸기 쉬워서
 - 단일책임원칙(SRP)
 - 내가 쓰는 코드가 수정에 용이할지 생각하면서 개발하기

 

Topic 9. 중복의 해악
- 중복코드가 많으면 유지보수가 어렵다. 

- DRY법칙(Don't Repeat Yourself)
- 동일한 코드(+주석)가 여러군데면, 하나를 고치면 다른 하나도 고쳐야한다. 
- 개발자간의 빈번한 코드 커뮤니케이션은 내부 중복 코드를 방지할 수 있다. 
- 재사용하기 쉬워야한다.
- 2번이상? 3번이상 중복되는 것들을 고민해보자!

 


Topic 10. 직교성
 - 직교성이란? 결합도 줄이기 = 하나가 바뀌어도 나머지에 어떤 영향도 주지 않는 것

 - 직교성이 높으면 생산성 향상과(개발 시간 및 테스트 시간 감소, M * N가지 일), 리스크 감소의 장점이 있다.
 - 코드의 결합도를 줄여야한다. 전역 데이터를 피해야 한다. 
 - 내 코드를 비판적으로 바라보고, 구조와 직교성을 개선하기 위해 하는 것 = 리팩터링


 

Topic 11. 가역성
 - 되돌릴 수 없는 결정을 줄여야한다. 

 - 아키텍쳐가 변덕스러운 환경에서 내가 할 수 있는 것은 바꾸기 쉽게 만드는 것

728x90