Community

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

← Go back
실용주의 프로그래머-TIL-2(20220321)
#pragmatic
2년 전
1,536
3

오늘 TIL 3줄 요약

동작 하는 것을 보여줘라. 직접 사용해 볼 수 있게 하라. 그러면 그들에게 진짜로 필요한 것이 드러날 것이다.

최종 결정이란 없다.

그러려면 바꾸기 쉬운 좋은 설계를 해야 한다.

TIL (Today I Learned) 날짜

2022.03.21

오늘 읽은 범위

2장 실용주의 접근법

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

Topic 8 좋은 설계의 핵심

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

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

Topic 9 DRY Don't Repeat Yourself 중복의 해악

  • 문제는 명세와 프로세스, 개발하는 프로그램 안에 지식을 중복해서 넣기 쉽다는 것이다.

  • 모든 지식은 시스템 내에서 단 한 번만, 애매하지 않고, 권위있게 표현되어야 한다.

  • 똑같은 것이 두 군데 이상에 표현될 것이다. 하나를 바꾸면 나머지도 바꿔야 함을 기억해야 한다.

  • 뭔가를 만드는 것 보다 기존의 것을 찾아내고 재사용하기 쉬운 환경을 조성해야 한다.

Topic 10 직교성

  • 관련 없는 것들 간에 서로 영향이 없도록 하라

  • 자신의 힘으로 제어할 수 없는 속성에 의존하지 말라

  • 유사한 함수는 전략 패턴을 사용할 수 있는지 고민해봐라

  • 테스트를 정규 빌드 과정의 일부로 수행하는 것을 추천한다. (단위테스트를 위해 시스템의 상당 부분을 불러와야 한다면 결합도를 충분히 줄이지 못한 것이다.)

Topic 11 가역성

  • 최종 결정이란 없다.

Topic 12 예광탄

  • 예광탄 코드도 다른 제품 코드와 마찬가지로 오류 검사, 올바른 구조, 문서화, 자체 검사를 갖추어야 한다.

  • 장점은 사용자가 뭔가 작동하는 것을 일찍 보고 개발자는 일할 수 있는 구조를 얻는다. 통합 작업을 수행 할 수 있고, 무엇인가 보여 줄 것이 생겨 감을 잡을 수 있다.

  • 예광탄은 지금 맞추고 있는 것을 보여준다. 목표물이 아니라면 조준을 옮겨야 한다.

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

  • 프로토타입은 학습 경험을 위한 것으로 버려진다.

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

지금 회사에서 작업하고 있는것을 프로토타입을 만들고 있다고 생각했다.그렇기에 어쩌면 버려질 수도 있겠다고 생각했다. 하지만 아니었다. 프로토타입은 무엇인가를 학습하고 버리기 위한 것이었고, 우리는 지속적으로 커져가는 것을 만드는 것이었다. 최소한으로 동작하는 예광탄 코드를 작성하고 있었던 것이다.

최소한의 것을 완성하는 하나의 사이클을 아직 끝마치지 못했다. 오류 검사, 올바른 구조, 문서화, 자체 검사를 하지 않으면서 진행해왔다. 그렇기에 무엇인가 소통이 잘 안되고 있다고 느꼈었는데, 이유를 찾은 것 같아서 기쁘다. 또한 최대한 빠르게 하나의 사이클을 완성해봐야겠다. 그래야 앞으로 남은 일들의 예측도 가능해 지니깐.

이번 장은 프로젝트를 설계하고 코드를 짜면서 진행해 나갈 때 어떤 것을 중심으로 두고 접근해야 좋은지를 알려준 장이었던 것 같다.

최종 결정이란 없다.

이 말 한마디를 항상 생각하면서 오늘도 하루를 살아보자!!

영원한 건 절대 없어

결국 넌 변했지

https://www.youtube.com/watch?v=RKhsHGfrFmY

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

  • 전략 패턴

3 comments