Community

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

← Go back
TIL 4주차
#pragmatic
2년 전
515
1

오늘 TIL 3줄 요약

  • 나는 완벽한 개발을 할 수 없다.

  • 미래를 예측하려 들지 말자.

  • 확실한 규칙을 설계하려 노력하자

</예시>

TIL (Today I Learned) 날짜

2022.03.25

오늘 읽은 범위

4장 실용주의 편집증

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

  • 여러분은 완벽한 소프트웨어를 만들 수 없다.

계약에 의한 설계

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

  • 루틴의 선행 조건이 위반된 경우에는 루틴이 호출되어서는 안 된다.

  • 시작하기 전에 자신이 수용할 것은 엄격하게 확인하고, 내어 줄 것에 대해서는 최소한도를 약속하는 것이다.

  • 코드를 작성하기 전에 유효한 입력 범위가 무엇인지, 경계조건이 무엇인지, 루틴이 뭘 전달한다고 약속하는지, 혹은 더 중요하게는 무엇을 약속하지 않는지 등을 나열하는 것만으로도 더 나운 소프트웨어를작성하는 데에 엄청난 도움이 된다.

  • 불변식의 자격이 있는 요구 사항을 찾았다면 여러분이 작성하는 모든 문서에 잘 드러나도록 만들어라.

죽은 프로그램은 거짓말을 하지 않는다

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

  • 일반적으로 죽은 프로그램이 끼치는 피해는 이상한 상태의 프로그램이 끼치는 피해보다 훨씬 적은 법이다.

단정적 프로그래밍

  • 여러분의 첫 번째 방어선은 가능한 오류를 모두 검사하는 것이고, 그다음은 그러고도 놓친 것을 잡아내기 위해 단정을 사용하는 것이다.

리소스 사용의 균형

  • 자신이 시작한 것은 자신이 끝내라.

  • 리소스를 할당하는 루틴이 해제 역시 책임져야 한다는 것이다.

  • 리소스를 할당하는 것이 언제나 그 리소스를 해체할 책임까지 져야 한다.

헤드라이트를 앞서가지 말라

  • 작은 단계들을 밟아라. 언제나.

  • 더 진행하기 전에 피드백을 확인하고 조정하라.

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

  • 대부분의 경우 내일은 오늘과 거의 같을 것이다. 하지만 확신하지는 말라.

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

실용주의 프로그래머를 읽을 수록 내가 생각했던 개발과 괴리가 발생하는 것 같다. 사실 내가 너무 개발을 쉽게 생각했던 것 같다. 개발은 많은 부분을 생각하고 미리 예측해야하지만, 너무 많이 예측해서는 안된다. 이러한 부분을 앞으로 더 읽어보며 좋은 개발자가 되기위해 노력해야겠다.

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

그렇다면 어디까지 우리는 예측해야하는가? 오로지 내가 예측 가능한 범위까지만 예측한다면 그것은 결국 오류가 아니지 않을까?

1 comment