반응형

책책책book/실용주의프로그래머 5

[실용주의 프로그래머] 스터디 6주차_4강 실용주의 편집증

p 145~180 Topic 23. 계약에 의한 설계 (DesignBy Contract,DBC) 모든 입력값에 성공과 실패를 정의한다. 문제를 찾고 원인을 밝히기 위해서는 사고가 난 지점에서 멈추는 것이 유리 의미론적 불변식, 어겨서는 안되는 요구사항을 표현 Topic 24. 죽은 프로그램은 거짓말을 하지 않는다 방어적 프로그래밍은 시간 낭비, 코드가 망가지면 그냥 멈추는게 낫다. 죽은 프로그램이 끼치는 피해가 이상한 상태의 프로그램이 끼치는 피해보다 훨씬 적다. Topic 25. 단정적 프로그래밍 단정문으로 절대 일어나지 않을것 같은 불가능한 상황을 예방해야한다. 진짜 오류처리를 해야하는 곳에 단정을 사용하지 않는다. 단정을 잘못 사용하면 디버깅이 디버깅하는 시스템의 행동을 바꿔버리는 하이젠버그적인 문..

[실용주의 프로그래머] 스터디 5주차_3강 기본 도구

✏️ 범위: 103p~144p 사용하는 도구는 재능을 증폭한다. 생산성을 높여준다. 도구의 사용법을 배우는데 시간을 투자하라. 도구가 손의 연장이 될 것이다. Topic 16. 일반 텍스트의 힘 프로그래머의 기본 재료는 지식이다. 이 지식을 설계, 구현, 테스트, 문서로 표현한다. 이 중 최고의 포맷은 일반 텍스트(plain text) HTML, JSON, HTTP, SMTP 등이 모두 일반 텍스트이다. 왜 일반 텍스트를 쓰면 좋은가? 1. 사람이 읽을 수 있는 형태는 계속 쓰일 확률이 높다. 지원 중단될 리스크가 적다. 2. 대형 어플리케이션을 설치해도 설정 파일을 버전 관리 시스템에 넣는다면 기존 도구를 활용할 수 있다. 3. 특별한 도구 없이 더 쉽게 테스트가 가능하다. Topic 17. 셀 가지고..

[실용주의 프로그래머] 스터디 4주차_2-2강 실용주의 접근법

Topic 12. 예광탄 예광탄을 사용하면 총알이 날아가는 궤적과 명중한 곳이 빛이나 연기로 확인이 되므로, 사수가 목표물에 대해서 정확한 사격을 할 수 있도록 큰 도움을 준다. 즉 소프트웨어에서는 가장 복잡한 곳의 코드를 제일 먼저 짜보는 것, 테스트 해보는 것 예광탄 코드는 기능은 없지만 골격이 만들어지는 최초의 코드 -> 일관성, 생산성 증대, 디버깅 및 테스트 속도 증가 예광탄은 지금 맞히고 있는 것이 무엇인지를 보여주는 것이지 꼭 목표물을 맞추는 것이 아니다. 목표에 맞을때까지 개발하는것이 바로 예광탄 개발 방법론! 프로토타입은 나중에 버리는 코드를 만들지만, 예광탄 코드는 완결된 코드이며 골격의 일부가 된다. 👉🏻 프로토타입 방식과 예광탄 방식의 전체적인 차이점?이 무엇인지 잘 모르겠다 스터디..

[실용주의 프로그래머] 스터디 3주차_2강 실용주의 접근법

Topic 8. 좋은 설계의 핵심 - 좋은 설계는 나쁜 설계보다 바꾸기 쉽다. (ETC = Easier to Change) - 결합도를 줄이면 좋은 이유? 관심사를 분리함으로써 각각 더 바꾸기 쉬워서 - 단일책임원칙(SRP) - 내가 쓰는 코드가 수정에 용이할지 생각하면서 개발하기 Topic 9. 중복의 해악 - 중복코드가 많으면 유지보수가 어렵다. - DRY법칙(Don't Repeat Yourself) - 동일한 코드(+주석)가 여러군데면, 하나를 고치면 다른 하나도 고쳐야한다. - 개발자간의 빈번한 코드 커뮤니케이션은 내부 중복 코드를 방지할 수 있다. - 재사용하기 쉬워야한다. - 2번이상? 3번이상 중복되는 것들을 고민해보자! Topic 10. 직교성 - 직교성이란? 결합도 줄이기 = 하나가 바뀌..

[실용주의 프로그래머] 스터디 2주차

진도: 1장 ~ 25page 책을 읽으면서 정리하고 싶은 것들만 다시 보기 위해 기록합니다. Topic1. 당신의 인생이다 변화를 피한다? 개발자는 스스로 할 수있는 힘이 있다? 기회를 많이 주는 업계! Topic2. 고양이가 내 소스코드를 삼켰어요 실수를 인정한다. 팀이 나를 믿고 의지해야한다. 신뢰!? 책임지기. 결과에 대한, 다른 사람을 비방하지말고 문제가 생기면 대책을 세우자 변명이 아니라 대안을 제시하라..! 안된다고 하지 말자.? (오늘도 개발자가 안된다고 했다 책이 생각났다) Topic3. 소프트웨어 엔트로피 엔트로피? = 무질서 기술 부채(debt) 계속 커진다. 깨진 창문을 내버려 두지 말라, 나쁜 설계나 형편없는 코드 등등. 더미데이터, 주석처리 그 전에 망치지 말자~! 잘 만들자 To..