Community

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

← Go back
TIL #2 ~2장. 실용주의 접근법 RE.
#pragmatic
2년 전
671

오늘 TIL 3줄 요약

  • 인생은 항상 유지보수 모드에 있어야 한다. 언제 알고 있던 지식이 바뀔지 모르기 때문에 코드는 가역성을 지녀야 하며, 중복되는 것들을 배치하지 않아(DRY) 쉽게 바꿀 수 있어야 할 것이다(ETC).

  • 프로젝트의 모든 것을 통찰할 땐, 예광탄! 특정 부분에 집중해야 할 땐, 프로토타입!

  • 추정이란 한없이 맞추기 어려운 것이지만, 실체와 가까워 질 수록 미래의 실제 코딩에 도움이 되는 것이다.

TIL (Today I Learned) 날짜

2022. 03. 22

오늘 읽은 범위

2장. 실용주의 접근법

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

Topic 8. 좋은 설계의 핵심

  • 좋은 코드의 설계는 언제든 목적에 따라 바꾸기 쉬운 것이다. 즉, 코드의 결합도를 낮추고 응집도를 높이라는 뜻이다. (p. 40)

Topic 9. DRY: 중복의 해악

  • 안타깝게도 지식은 고정적이지 않다. 지식은 변화한다. 때로는 급격하게 변화한다. (p. 42)

  • 유지 보수는 열중하고 있는 도중에도 언제나 새로운 요구 사항이 도착하고 환경이 바꿀 수 있기에 언제나 이뤄져야 한다.(p. 42)

  • 모든 지식은 시스템 내에서 단 한 번만, 애매하지 않고, 권위 있게 표현되어야 한다. (Don't Repeat Yourself) (p. 43)

    - DRY 법칙이 지켜져야 유지보수를 할 때에도 명세와 프로세스, 개발하는 프로그램 안에 지식을 중복하여 넣지 않아 여러 부분들을 똑같이 교체해야 하는 상황이 일어나지 않는다.

Topic 10. 직교성

  • 자신이 작성하는 코드를 항상 비판적으로 바라보는 습관을 길러라. 기회가 있을 때마다 코드의 구조와 직교성을 개선하기 위해 노력하라. (Refactoring) (p.62)

Topic 11. 가역성

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

    - 결정이 바뀌지 않을 것이라 가정하고 근시안적인 시각으로는 후의 사건에 대처할 수 없다.

Topic 12. 예광탄

  • 예광탄 코드는 기능은 별로 없지만 완결된 코드이며, 최종 시스템 골격 중 일부가 된다. (p.79)

    - 예광탄 코드는 모든 코드를 꿰뚫어 연결한 것이기에 우리는 그에 살을 덧붙이는 식으로 프로젝트를 완성시키면 된다.

Topic 13. 프로토타입과 포스트잇

  • 프로토타입은 최종 시스템의 어떤 특정한 측면을 탐사해 보는 것이 목표다. (p. 77)

  • 프로토타이핑은 학습 경험이다. 프로토타이핑의 가치는 이를 통해 배우는 교훈에 있다. (p. 81)

Topic 14. 도메인 언어

Topic 15. 추정

  • 어떤 의미에서 모든 답은 추정치다. 동일한 값을 말해줄 때에도 단위에 따라 상대방에게 전달되는 의미가 달라질 수 있다. (p. 95)

  • 추정치는 어디에서 나오는가? (p. 96~99)

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

  • 가역성 부분에서 코드의 진화를 슈뢰딩거의 고양이들로 가득 찬 상자로 생각하라는 부분이 있었다. 직교성, DRY 법칙들을 모두 지켜가면서 코드를 진화시키기에는 물론 어려운 일일 것이다. 그러나, 상자를 열어야지만, 코드를 진화시켜야지만 내가, 사용자가 요구하는 결과로 다가가기 위해서는 연다는 선택지 밖에 없을 것이다.

  • 추정하는 법을 배우고 추정 능력을 계발하여 무언가의 규모를 직관적으로 짚을 정도가 되면, 추정 대상의 가능성을 가늠하는 마법과 같은 능력을 발휘 할 수 있게 될 것이다. -> 추정하기 위해서는 이미 그 분야에 대한 방대하고 깊은 지식이 필요로 할 것이고, 현재 내가 가장 키워야 할 부분이다. 선행적으로 이뤄져야 한다는 의미이다.

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

  • topic 14 도메인 언어 부분 전체, 다시 한번이해하여 제대로 된 연습문제 풀이가 필요

오늘 읽은 다른사람의 TIL