Community

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

← Go back
TIL. 제4장 실용주의 편집증
#pragmatic
2년 전
675

오늘 TIL 3줄 요약

  • 계약에 의한 설계의 중요성

  • 단정적 프로그래밍

  • 개발에서의 헤드라이트

TIL (Today I Learned) 날짜

2022. 03.24.목

오늘 읽은 범위

4장 실용주의 편집증

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

  • 정직한 거래를 보장하는 최선의 해법 중 하나는 ‘계약 contract ’이다.

  • 계약에 의한 설계 Design By Contract=DBC 는 단순하지만 강력한 기법으로, 프로그램의 정확성을 보장하기 위해 소프트웨어 모듈의 권리와 책임을 문서화하고 합의하는 데에 초점을 맞춘다.

    자신이 하는 일이라고 주장하는 것보다 많지도 적지도 않게 딱 그만큼만 하는 프로그램이다. 이 주장을 문서화하고 검증하는 것이 ‘계약에 의한 설계’의 핵심이다.

  • 단정문이나 DBC 방식을 사용하여 선행 조건과 후행 조건, 불변식을 검증하면 더 일찍 멈추고, 문제에 대한 보다 정확한 정보를 알려줄 수 있을 것이다.

  • 의미론적 불변식은 무언가가 품은 진짜 의미의 중심이 되어야 하며, 훨씬 역동적으로 변하는 비즈 니스 규칙처럼 일시적인 정책에 영향을 받으면 안 된다.

  • 모든 오류는 정보를 준다.

  • ‘하지만 물론 그런 일은 절대 일어나지 않을 거야.’ 라는 생각이 든다면 그런 일을 확인하는 코드를 추가하라. 가장 간단하게 추가하는 방법은 단정문 assertion을 사용하는 것이다.

  • 여러분의 첫 번째 방어선은 가능한 오류를 모두 검사하는 것이고, 그다음은 그러고도 놓친 것을 잡아내기 위해 단정을 사용하는 것이다. 성능 문제가 있다 하더라도 정말 문제가 되는 단정문만 끄도록 하자.

  • 언제나 신중하게 작은 단계들을 밟아라. 더 진행하기 전에 피드백을 확인하고 조정하라. 피드백의 빈도를 여러분의 제한 속도라고 생각하라. ‘너무 큰’ 단계나 작업은 하지 않게 될 것이다.

  • 불확실한 미래에 대비한 설계를 하느라 진을 빼는 대신 언제나 교체 가능한 코드를 작성하여 대비하면 된다.

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

  • 확실히 갈수록 내용이 어렵다! 하지만 작가가 전달하고자하는 내용들은 느낌으로 느껴지는거 같다.

    실용주의 프로그래머는 항상 자기 자신을 믿지 않고 자신의 실수에 대한 방어책을 마련해놓아야 한다 그리고 언제나 신중하게 작은 단계들을 밟아라 이게 이 장의 핵심인거 같다. 따라서 다음에 더 배우고 무언가 일을 하게 된다면 이 자세를 떠올리면 큰 도움이 될 거 같다!

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

  • 설계의 예시들, 단정문의 예시들, 리소스 내용의 예시들

오늘 읽은 다른사람의 TIL