본문 바로가기

실용주의프로그래머4

4장. 실용주의 편집증 오늘 읽은 범위 4장. 실용주의 편집증 기억하고 싶은 내용 여러분은 완벽한 소프트웨어를 만들 수 없다. Topic 23. 계약에 의한 설계 DBC(Degign By Contract) 선행 조건: 루틴이 호출되기 위해 참이어야 하는 것 후행 조건: 루틴이 자기가 할 것이라고 보장하는 것 클래스 불변식: 호출자의 입장에서 볼 때는 이 조건이 언제나 참인 것을 클래스가 보장하는 것 계약으로 설계하라. DBC 구현 코드를 작성하기 전에 유효한 입력 범위가 무엇인지, 경계 조건이 무엇인지, 루틴이 뭘 전달한다고 약속하는지, 혹은 더 중요하게는 무엇을 약속하지 않는지 등을 나열하는 것만으로도 더 나은 소프트웨어를 작성하는 데에 엄청난 도움이 된다. DBC와 일찍 멈추기 DBC 방식을 하용하여 선행 조건과 후행 조건.. 2022. 5. 19.
3장. 기본 도구 오늘 읽은 범위 3장. 기본 도구 기억하고 싶은 내용 Topic 16. 일반 텍스트의 힘 우리는 지식을 설계와 구현, 테스트, 문서로 표현하며, 지식을 저장하는 최고의 포맷이 일반 텍스트(plain text)라고 믿는다. 지식을 일반 텍스트로 저장하라. 지원 중단에 대한 보험 사람이 읽을 수 있는 형태의 데이터와 그 자체만으로 의미가 드러나는 데이터는 다른 어떤 형태의 데이터보다 더 오래 살아남을 것이다. 기존 도구의 활용 버전 관리 시스템에서 일반 텍스트를 보존해 줄 것이다. Topic 17. 셸 가지고 놀자 텍스트 파일을 다루는 프로그래머에겐 명령어 셸이 작업대이다. 명령어 셸의 힘을 사용하라 자신만의 셸 색깔 조함 설정 프롬프트 설정 별칭(alias)과 셸 함수 명령어 자동 완성 Topic 18. .. 2022. 3. 23.
2장. 실용주의 접근법 오늘 읽은 범위 2장. 실용주의 접근법 기억하고 싶은 내용 좋은 설계는 나쁜 설계보다 바꾸기 쉽다. 결합도를 줄이는 이유: 관심사를 분리함으로써 각각이 더 바꾸기 쉬워지기 때문이다. 단일 책임 원칙: 요구 사항이 바뀌더라도 모듈 하나만 바꿔서 반영할 수 있기 때문이다. 이름 짓기의 중요성: 이름이 좋으면 코드가 읽기 쉬워지고, 코드를 바꾸려면 코드를 읽어야 하기 때문이다. ETC는 규칙이 아니라 가치이다. DRY: 반복하지 말라. DRY를 따르지 않으면 똑같은 것이 두 군데 이상에 표현될 것이다. 하나를 바꾸면 나머지도 바꿔야 함을 기억해야 한다. DRY는 지식의 중복, 의도의 중복에 대한 것이다. 문서화 중복: 주석 대신 코드로 의도를 나타내자. 데이터의 DRY 위반: 가능하다면 중복되는 필드 대신 메.. 2022. 3. 21.
1장. 실용주의 철학 오늘 읽은 범위 추천사 2판 서문 1판 서문 1장. 실용주의 철학 기억하고 싶은 내용 각 상황에서 좋은 해결 방안을 고를 수 있도록 충분한 배경지식과 경험을 쌓아야 한다. 당신에게는 에이전시(agncy)가 있다. 당신은 당신의 조직을 바꾸거나. 당신의 조직을 바꿀 수 있다. (마틴 파울러) 어설픈 변명 말고 대안을 제시하라. 리팩터링의 가치를 설명해 줘라. 최선의 방법을 결정하기 위해 프로토타입을 만들어라. 테스트를 개선하거나, 재발을 방지하기 위해 자동화를 도입해라. 깨진 창문을 내버려 두지 말라. 불쾌한 코드를 주석 처리 하거나, ‘아직 구현되지 않았음'이라고 메시지를 표시하거나. 가짜(dummy) 데이터로 대치해 놓아라. 어떤 위기가 찾아왔다고 해서 부가적인 피해를 일으키지 말라. 변화의 촉매가 되.. 2022. 3. 19.