ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 실용주의 프로그래머 스터디 2장 - 실용주의 접근법
    Book Study 2024. 2. 19. 19:32

    나의 키워드

    • 직교성
    • 가역성
    • 추정

    1. 직교성 (orthogonality)

    • ‘직교성’은 기하학에서 빌려 온 용어다. 그래프와 축과 같이 두 직선이 직각으로 만나는 경우 직교한다고 말한다. 하나가 바뀌어도 나머지에 어떤 영향도 주지 않는 것을 의미한다. 컴퓨터 과학에서 이 용어는 일종의 독립성이나, 결합도 줄이기(decoupling) 를 의미한다. (p.54)
    • 직교적인 시스템을 작성하면 두 가지 큰 장점이 있다. 바로 생산성 향상리스크 감소다 (p.57)

    1.1) 생산성 향상

    • 변화를 국소화해서 개발 시간과 테스트 시간이 줄어든다. 상대적으로 작고, 자족적인 컴포넌트들을 작성하는 것이 하나의 커다란 코드 덩어리를 만드는 것보다 더 쉽다. (p.57)

    1.2) 리스크 감소

    • 직교적인 접근법은 모든 개발 작업에 존재할 수밖에 없는 위험의 크기를 감소시켜 준다. (p.58)
    • 자신이 작성하는 코드를 항상 비판적으로 바라보는 습관을 길러라. 기회가 있을 때마다 코드의 구조와 직교성을 개선하기 위해 노력하라. (p.62)

    2. 가역성

    당신이 가진 생각이 딱 하나밖에 없다면, 그것만큼 위험한 것은 없다. - 에밀 오귀스트 샤르티에

    • 엔지니어는 문제를 풀 때 단순히 하나의 해결책을 좋아한다. ‘이것은 이 방법으로만 해결할 수 있어.’와 같은 근시안적인 생각으로 프로젝트에 참여한다면 아마도 예상치 못했던 경우를 만나 한숨지을 일이 많을 것이다. (p.66)
    • 되돌릴 수 없는 결정을 줄여야 하는 까닭은 우리가 프로젝트 초기에 늘 최선의 결정을 내리지는 못하기 때문이다. (p.68)
    • 최종 결정이란 없다. 결정이 돌에 새겨진 것이 아니라 바닷가의 모래 위에 쓰인 글씨라 생각하라. 언제든지 큰 파도가 글씨를 지워버릴 수 있다. (p.68)
    • 여러분이 할 수 있는 것은 바꾸기 쉽게 만드는 것이다. (p.69)

    3. 추정

    • 추정으로 놀람을 피하라. (p.95)
    • 얼마나 정확해야 충분히 정확한가 ? 어떤 의미에서 모든 답은 추정치다. 단지 어떤 답이 다른 답보다 좀 더 정확할 뿐이다. 그러므로 누군가 추정치를 물었을 때 스스로 물어보아야 할 첫 번째 질문은 여러분의 답변이 사용될 상황이 무엇인지다. 질문자가 매우 높은 정확도의 답을 요구하는가, 아니면 단순히 큰 그림만을 요구하는가? (p.95)
    • 추정치는 어디에서 나오는가 ? 모든 추정치는 문제의 모델에 기반한다. 이미 그 일을 해본 사람에게 물어보라. 똑같은 일을 해 본 사람을 찾기는 어렵겠지만, 놀라울 정도로 자주 다른 사람의 경험을 바탕으로 성공적인 추정치를 낼 수 있을 것이다. (p.96)
    • 무엇을 묻고 있는지 이해하라. 어떤 종류의 추정을 하건 첫 단계는 상대방이 무엇을 묻고 있는지 이해하는 것이다. 추정하기 전에 미리 어떤 조건이 있을지 생각하는 습관을 길러야 한다. (p.96)
    • 여러분의 추정 실력을 기록하라. 여러분이 계산한 추정치를 기록해 놓고, 나중에 이 값이 실제 결과에 얼마나 가까웠는지를 평가해 보면 정말 좋을 것이다. 추정치가 틀렸더라도 움츠리거나 도망가지 말라. 왜 틀렸는지 찾아라. 원인이 무엇이든 시간을 들여 이를 규명하라. 다음 추정치는 훨씬 나아질 것이다. (p.99)
    • 초기 기능의 구현과 테스트를 마친 후, 이를 첫 번째 반복 주기의 끝으로 삼아라. 첫 반복 주기의 경험을 바탕으로 반복 주기의 수와 간 반복 주기에서 무엇을 할지에 대한 처음의 추측을 다듬을 수 있을 것이다. 이런 추정은 보통 각 반복 주기가 끝날 때 팀 리뷰 회의 시간에 한다. 한 번에 한입씩 (p.101)

    댓글

Designed by Tistory.