Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
[DAY3] 2장 실용주의 접근법
#pragmatic
2년 전
979

오늘 TIL 3줄 요약

  • 영원한 것은 없다. 언젠가는 변한다. 어떤 미래가 펼쳐질지 지금은 알 수 없다.

  • 쉽게 바꿀 수 있게, 바꾸면서 문제가 일파만파 커지지 않게, 바꿀 부분을 찾기 쉽게 작성하자.

  • 구체적으로 구현하기 전에 전체적인 그림을 그려 감을 잡아보자.

TIL (Today I Learned) 날짜

2022. 03.21

오늘 읽은 범위

2장. 실용주의 접근법

책에서 기억하고 싶은 내용을 써보세요.

ETC : Easier To Change

좋은 설계는 나쁜 설계보다 바꾸기 쉽다.

DRY : Don't Repeat Yourself

프로그래머로서 우리는 지식을 수집하고, 조직하고, 유지하며, 통제한다. 이 지식은 시간이 지남에 따라서 변화한다. 지식을 여러군데에서 표현하고, 한 부분만 수정했을 때 정보에 모순이 생기게 된다. 모든 지식은 시스템 내에서 단 한 번만, 애매하지 않고, 권위있게 표현되어야 한다.

직교성 : 한 변화가 다른 변화와 독립적인 성질

  • 컴포넌트가 자족적이고 응집되어 있으면, 수정이 필요할 때 해당 부분만 수정하면 된다

  • 컴포넌트의 변화가 다른 컴포넌트에 영향을 끼치지 않는다

  • 혹시 문제가 생기더라도 전체 시스템으로 전파되지 않도록 코드를 격리 시키자

  • 구체적인 구현이 바뀌었을 때 전체 시스템을 수정하지 않도록 격리 시키자

예광탄 코드

우리를 요구 사항으로부터 최종 시스템의 일부 측면까지 빨리, 눈에 보이게, 반복적으로 도달하게 해 줄 무언가를 찾아야 한다.

모든 기능을 처음부터 자세하고 완벽하게 개발하는 것보다 전체적인 구조를 만들어 놓고 일단 동작하는 것을 확인 한 후에 조금씩 살을 붙여 가는 방식을 선택하자. 가볍게 개발하기 때문에 빠르고, 진행상황을 더 정확히 파악할 수 있다.

프로토타입과 포스트잇

실제 구현을 하기 전에 프로토타이핑을 해보자. 위험 요소를 분석하고 노출시킨 후, 매우 저렴한 비용으로 바로잡을 기회를 얻을 수 있다. 화이트보드에 그림을 그려서 만들 수도 있고, 포스트잇을 이용해 구성해볼 수도 있다.

증명되지 않았거나, 실험적이거나, 의심이 가는 것, 마음이 편하지 않은 것을 프로토타이핑 해보자.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 레고블럭을 떠올리면서 내가 작성하는 코드가 레고처럼 쉽게 뺐다 끼웠다 할 수 있는지 생각해봐야겠다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 도메인 언어