Search
Duplicate

실용주의 프로그래머

독서 횟수
2
저자
데이비드 토머스
분야
전공관련
완료
평점
완독 날짜
북커버
https://image.aladin.co.kr/product/3878/67/cover500/8966261035_1.jpg

1장. 실용주의 철학

1. 고양이가 내 소스코드를 삼켰어요

실수나 무지 같은 단점에 대해서도 정직해져야 한다
어설픈 변명을 만들지 말고 대안을 제시하라

2. 소프트웨어 엔트로피

깨진 창문(나쁜 설계, 잘못된 결정, 혹은 형편없는 코드)을 코치지 않은 채로 내버려 두지 마라. 발견하자마자 바로 고쳐라. 적절히 고칠 시간이 충분치 않다면 판자로 덮는 것만이라도 하라

3. 돌멩이 수프와 삶은 개구리

변화의 촉매가 되라.

5. 지식 포트폴리오

매년 새로운 언어를 최소 하나는 배워라
기술 서적을 분기마다 한 권씩 읽어라
자신이 배운 교훈들을 현재 프로젝트에 적용하도록 노력하라
이번 주부터 새로운 언어를 배우기 시작하라

6. 소통하라

말하고 싶은게 무언지 알아라
청중을 알아라
때를 골라라

2. 실용주의 접근법

7. 중복의 해악

반복하지 마라 - 매크로 함수 사용 이유를 말하는 거임
부주의한 중복은 피해라 - 길이는 계산되는 필드로 만드는 것이 낫다
가능한 곳에서는 언제나 객체의 속성을 읽고 쓸 수 있는 액세스 함수를 사용하라
재사용하기 쉽게 만들라

8. 직교성

코딩 - 전역 변수를 피해라 → 해당 데이터를 공유하는 다른 컴포넌트와 묶이기 때문

9. 가역성

결정이 돌에 새겨지는 것이라 가정하고, 발생할지도 모를 우연한 사건들에 대해 준비하지 않는 데에서 실수가 나온다

3. 기본적인 도구

18. 디버깅

가장 속이기 쉬운 사람은 자기 자신이다
컴퓨터는 거짓말하지 않는다

4. 실용주의 편집증

완벽한 소프트웨어는 존재하지 않는다

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

불가능한 뭔가가 발생했다는 것을 코드가 발견한다면, 되도록 빨리 종료해야 한다

23. 단정적 프로그래밍

실행되어야만 하는 코드는 절대 asset 속에 두지 마라

24. 언제 예외를 사용할까

예외를 정상적인 처리 과정의 일부로 사용하는 프로그램은 고전적인 스파게티 코드의 가족성 문제와 관리성 문제를 전부 떠안게 된다

25. 리소스 사용의 균형

시작한 것은 끝내라
C or C++ 로 개발을 할때 메모리를 할당 후 해제할때는 해당 포인터를 NULL로 만들어라. → UAF 방지

6장. 코딩하는 동안 해야 할 일들

33. 리팩터링

어떤 것이든 잘못되었다고 생각될 때, 그것을 변경하는 일을 주저하면 안 된다. 언제나 바로 지금이 최적기다
중복, 직교성, 성능 들이 리팩터링의 대상이다
리팩터링과 새로운 기능 추가를 동시에 하지 말라