Community

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

← Go back
2장.실용주의 접근법 TIL
by ssg
#pragmatic
2년 전
693

오늘 TIL 3줄 요약

  • 바꾸기 쉽게 코드를 작성하자

  • 서로가 영향이 없는 독립된 컴포넌트들을 만들자

  • 하나의 생각만 갖지말자

TIL (Today I Learned) 날짜

2022.5.17

오늘 읽은 범위

2장.실용주의 접근법

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

  • 좋은 설게는 나쁜 설계보다 바꾸기 쉽다(p.39)

  • 잘 설계되었다는 건 그 물건이 사용하는 사람에게 적용하여 맞춰진다는 것이다. 코드에 적용해보면, 잘 설계된 코드는 바뀜으로써 사용하는 사람에게 맞춰져야 한다.

    그래서 우리는 ETC(Easier to Change)원칙을 따른다.

  • 이름 짓기가 중요한 이유: 이름이 좋으면 코드가 읽기 쉬워지고, 코드를 바꾸려면 코드를 읽어야 하기 때문이다.

  • ETC는 규칙이 아니라 가치(p.39)

  • “내가 방금 한 일이 전체 시스템을 바꾸기 쉽게 만들었을까? 어렵게 만들었을까?’ 파일을 저장할때 마다 물어보라(p.40)

  • ETC의 전제조건


    1. 앞으로 어떤 모슨으로 바뀔지 잘 모르겠을 때 언제건 궁극의 ‘바꾸기 쉽게’라는 길을 선택한다.

    바로 여러분이 작성하는 코드를 교체하기 쉽게 만들도록 노력하는 것이다.

    교체 가능하게 작성하라는 말은 코드의 결합도를 낮추고 응집도를 높이라는 이야기일 뿐이다.


    2. 이런경우를 여러분의 직관을 발전시키는 기회로 삼으라는 것이다.

    엔지니어링 일지에 현재 상황과 여러분의 선택, 그리고 변경 사항에 대한 추측을 정리해 둬라. 그리고 소스 코드에 이에 대한 표시를 남겨둬라. 나중에 코드를 바꿔야 하는 시점이 왔을 때, 뒤를 돌아보고 자신에게 피드백을 줄 수 있을 것이다.  그러면 비슷한 갈림길에 다시 섰을 때 도움이 될 것이다.

  • DRY: 반복하지 말라(Don’t Repeat Yourself)(p.43)

  • 팀원 한사람을 프로젝트 사서로 임명하라(p.53)

  • 관련없는 것들 간에 서로 영향이 없도록하라(p.56)

  • 컴포넌트들이 자가격리 되어 있으면 어느 하나를 바꿀 때 나머지 것들을 걱정하지 않아도 된다.(p.57)

  • 직교성의 장점


    -변화를 국소화해서 개발 시간과 테스트 시간이 줄어든다.


    -직교적인 접근법은 재사용도 촉진한다.


    -감염된 코드가 격리되어 있다.


    -시스템이 잘 깨지지 않는다.


    -컴포넌트들에 대해 테스트를 설계하고 실행하기 쉽기 때문에, 테스트를 더 많이 하게 되는 장점


    -특정 업체나 제품,플랫폼에 덜 종속될 것이다

  • 직교성 유지 방법(p.61)


    -불필요한 것은 다른 모듈에 보여주지 않으며, 다른 모듈의 구현에 의존하지 않는 코드를 작성하라


    -전역데이터를 피하라


    -유사한 함수를 피하라

  • 당신이 가진 생각이 딱하나밖에 없다면, 그것만큼 위험한 것은 없다. - 에일 오귀스트 사르티에(p.66)

  • 최종결정이란 없다(p.69)

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

  • 현실적인 방법론을 제시해줘서 좋았다.

  • 책에서 기억남은 내용들은 내가 한번씩 해본 행동들 이라서 송곳처럼 콕콕 양심이 아팠다.

  • 다음부터 코드를 더 쉽게 바꿀수 있게 작성 해야겠다는 생각이 들었다.

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

  • 자바스크립트 클래스 문법을 배우는 중이라 중간에 예시 어려웠다

  • 도메인은 회계로 따지면 회계시스템이 도메인이라고 비유하는데 좀 더 어디서 사용되는지 알아봐야겠다.