실용주의 프로그래머라는 책을 읽으며, 삼색볼펜 독서법을 적용. 줄 친 내용에 대한 단상을 정리합니다.
삼색볼펜 스터디란? 책에서 중요하다고 생각되는 문장을 빨강 > 파랑 > 검정 순으로 줄을 치며 공부하는 방식.
🔴 가장 중요한 문장
🔵 그래도 꽤 중요한 문장
⚫ 그럭저럭 내 마음에 와닿은 문장
🤔 짧은 생각 (단상은 단상일뿐!!)
볼드체 중요한 문장은 아니지만 단락 구분 표시
Topic 12. 예광탄
🤔 예광탄은 총알이 날라가는 궤적을 보여주는 탄환이다. 여기서 의미하는 예광탄은, 프로젝트가 본격적으로 굴러가기 전에 가장 간단한 유스케이스를 먼저 구현하는 걸 의미한다. 그 유스케이스를 구현하면서 요구사항과 성과를 미리 엿볼 수 있기 때문이다. 마치 예광탄처럼
⚫ 예광탄 개발 방법은 ‘프로젝트는 결코 끝나지 않는다.’는 견해와도 일맥상통한다.
🤔 요구사항과 성능 이슈는 얼마든지 생길 수 있기 때문에, 처음부터 모든 레이어를 완벽하게 완성시키지말고 마치 예광탄을 발사하듯, 모든 레이어를 통과하는 유스케이스를 일단 만들고, 거기에서 발생하는 이슈들을 미리 확인하고 대처한다는 의미가 크다.
예광탄 코드 대 프로토타이핑
⚫ 어쩌면 예광탄 코드라는 개념은 좀 더 공격적인 이름이 붙었을 뿐 프로토타이핑과 다를 바 없다고 생각하는 사람도 있을 것이다.
🤔 사실 전반부를 읽었을때, 어라 이거 프로토타이핑 아니야? 라고 생각했는데 뜨끔.
⚫ 진짜 프로토타입 방식을 따른다면 프로토타입은 어떤 개념을 실험해 보느라 대충 끼워 맞추어 구현한 것이므로 모두 버려야 한다.
🔵 프로토타입은 나중에 버리는 코드를 만든다. 예광탄 코드는 기능은 별로 없지만 완결된 코드이며, 최종 시스템 골격 중 일부가 된다.
🤔 난 그동안 예광탕과 프로토타입을 뭉뚱그려 프로토타입이라고 이해하며 용어를 사용했다.. 이 단락을 읽어보니 내가 그동안 이야기한 프로토타입을 누군가는 오해했을 수도 있겠단 생각도 든다. 난 예광탄을 말하고자 했던거긴 한데…물론 예광탄이란 단어는 낯설으니 주의를 기울여야 할 필요는 있겠다.
Topic 13. 프로토타입과 포스트잇
⚫ 프로토타입은 제한된 몇 가지 질문에 답하기 위한 것이므로 실제 제품보다 훨씬 적은 비용으로 빠르게 개발할 수 있다.
🤔 그런데 예광탄을 미리 읽어보고 나니, 프로토타입이 무슨 의미가 있나 싶다. 어차피 버려질 거라면 굳이 시간 내서 만들 필요가 있는가??
⚫ 하지만 세부 사항을 포기할 수 없는 환경에 처해 있다면 진짜로 프로토타입을 만들고 있는 게 맞는지 자문해보라.
🤔 맞다. 프로토타입을 만든다고 하면서도 높은 완성도를 기대하는 경우가 종종 있다. 그래서인지 계속해서 프로토타입은 버려야한다라고 말하는 듯하다. 세부사항은 포기해야한다고 강변하는 것이지.
프로토타입을 어떻게 사용할 것인가?
⚫ 정확성: 적절히 가짜 데이터를 사용할 수 있다.
⚫ 완전성: 프로토타입은 제한된 방식으로만 작동하기도 한다.
⚫ 안전성: 오류 검사를 뺴먹거나 아예 무시할수도 있다.
⚫ 스타일: 프로토타입 코드에느 주석이나 문서가 많지 않아야 한다.
🤔 일반적으로 위 4가지는 소프트웨어의 완성도를 평가하는 항목일텐데, 프로토타입에서는 철저히 부정한다.
아키텍쳐 프로토타이핑
🔵 프로토타이핑의 목적은 전체적으로 시스템이 어떻게 동작할지에 대해 감을 잡는 것이다. 다시 말하지만, 세부 사항은 무시한다.
🤔 여기서 프로토타이핑의 의의가 나온다. 프로토타이핑을 굳이 코드로 작성하지 않아도 된다! 포스트 잇도 좋고 다른 협업 툴을 이용해도 좋으니, 원하는 수준의 프로토타입의 컨셉과 개념을 공유하는 정도로만 진행해도 괜찮을 것이다.
프로토타입 코드를 사용하지 않도록 하려면?
⚫ 프로토타입을 코드로 만들 때는 시작하기 전에 항상 모든 사람에게 여러분이 폐기 처분할 코드를 작성하고 있다는 사실을 이해시켜야 한다.
🤔 이 코드는 나중에 지웁니다. 그런데도 해야할까요? 어어 이거 그대로 쓰지 마세요 프로토타입 코드니까 이거 없어집니다! 를 어떻게든 주의 시키자.
'성장의 흔적 > 실용주의 프로그래머를 읽고' 카테고리의 다른 글
[실용주의 프로그래머]를 읽고 #5. 2장. 실용주의 접근법. Topic 10, 11 (0) | 2025.02.04 |
---|---|
[실용주의 프로그래머]를 읽고 #4. 2장. 실용주의 접근법. Topic 8, 9 (3) | 2025.02.02 |
[실용주의 프로그래머]를 읽고 #3. 1장. 실용주의 철학. Topic 6 ~ 7 (6) | 2025.01.31 |
[실용주의 프로그래머]를 읽고 #2. 1장. 실용주의 철학. Topic 4 ~ 5. (2) | 2025.01.28 |
[실용주의 프로그래머]를 읽고 #1. 1장. 실용주의 철학. Topic 1 ~ 3. (3) | 2025.01.25 |