실용주의 프로그래머 - 2장. 실용주의 접근법 2

Topic 12 예광탄

어둠 속에서 빛을 내는 코드

Tip 20 목표물을 찾기 위해 예광탄을 써라.

  • 예광탄 코드 접근방법의 장점
    • 사용자가 뭔가 작동하는 것을 일찍부터 보게 된다
    • 개발자가 들어가서 일할 수 있는 구조를 얻는다
    • 통합(integration) 작업을 수행할 기반이 생긴다
    • 보여줄 것이 생긴다
    • 진행 상황에 대해 더 정확하게 감을 잡을 수 있다

예광탄이 언제나 목표물을 맞히는 것은 아니다

예광탄 코드 대 프로토타이핑

  • 프로토타입
    • 나중에 버리는 코드를 만듦
  • 예광탄 코드
    • 기능은 별로 없지만 완성된 코드
    • 최종 시스템 골격 중 일부가 됨

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

  • 프로토타입을 만드는 이유
    • 위험요소를 분석하고 노출시킨 후, 이를 매우 저렴한 비용으로 바로잡을 기회를 얻을 수 있음
  • 목적
    • 전체적으로 시스템이 어떻게 동작할지에 대해 감을 잡는 것

프로토타이핑 대상

  • 아키텍처
  • 기존 시스템에 추가할 새로운 기능
  • 외부 데이터의 구조 혹은 내용
  • 성능 문제
  • 사용자 인터페이스 설계

Tip 21 프로토타이핑으로 학습하라.

프로토타입을 어떻게 사용할 것인가?

  • 무시해도 좋은 세부 사항
    • 정확성
    • 완전성 (completeness)
    • 안정성
    • 스타일

아키텍처 프로토타이핑

프로토타입 코드를 사용하지 않도록 하려면?

Topic 14 도메인 언어

우리는 언제나 애플리케이션 도메인의 어휘를 사용해서 코드를 작성하려고 노력한다.

Tip 22 문제 도메인에 가깝게 프로그래밍하라.

실세계 도메인 언어의 예

RSpec

큐컴버

피닉스 라우터 (Phoenix router)

앤서블

도메인 언어의 특성

내부와 외부 언어의 장단점

  • 내부 도메인 언어
    • 장점 : 호스트 언어의 기능을 쓸 수 있음
    • 단점 : 호스트 언어의 문법과 의미론을 따라야만 함

손쉽게 만드는 내부 도메인 언어

Topic 15 추정

Tip 23 추정으로 놀람을 피하라.

얼마나 정확해야 충분히 정확한가?

추정치는 어디에서 나오는가?

이미 그 일을 해본 사람에게 물어보게 되면 성공적인 추정치를 낼 수 있을 것

무엇을 묻고 있는지 이해하라

시스템의 모델을 만들어라

모델을 컴포넌트로 나눠라

각 매개 변수에 값을 할당하라

답을 계산하라

여러분의 추정 실력을 기록하라

프로젝트 일정 추정하기

미사일에 페인트칠하기

코끼리 먹기

Tip 24 코드와 함께 일정도 반복하며 조정하라.

누군가 추정해 달라고 하면 뭐라고 대답해야 할까?

나중에 연락드릴게요

태그:

카테고리:

업데이트: