본문 바로가기
Book/Pragmatic Programmer

실용주의 프로그래머 Tip 100

by 라바킴 2022. 4. 6.
" 결국 당신의 삶이다. "

 

Tip 1 자신의 기예(craft)에 관심을 가져라

Tip 2 자기 일에 대해 생각하라. 

Tip 3 당신에게는 에이전시(agency)가 있다. 

Tip 4 어설픈 변명 말고 대안을 제시하라. 

Tip 5 깨진 창문을 내버려 두지 말라. 

Tip 6 변화의 촉매가 돼라. 

Tip 7 큰 그림을 기억하라. 

Tip 8 품질을 요구 사항으로 만들어라. 

Tip 9 지식 포트폴리오에 주기적으로 투자하라. 

Tip 10 읽고 듣는 것을 비판적으로 분석하라.

Tip 11 한국어든 영어든 하나의 프로그래밍 언어일 뿐이다.

Tip 12 무엇을 말하는가와 어떻게 말하는가 모두 중요하다.

Tip 13 문서를 애초부터 포함하고, 나중에 집어넣으려고 하지 말라. 

Tip 14 좋은 설계는 나쁜 설계보다 바꾸기 쉽다. 

Tip 15 DRY: 반복하지 말라 Don’t Repeat Yourself 

Tip 16 재사용하기 쉽게 만들어라. 

Tip 17 관련없는것들간에서로영향이없도록하라.

Tip 18 최종 결정이란 없다. 

Tip 19 유행을 좇지 말라. 

Tip 20 목표물을 찾기 위해 예광탄을 써라. 

 

Tip 21 프로토타이핑으로 학습하라. 

Tip 22 문제 도메인에 가깝게 프로그래밍하라. 

Tip 23 추정으로 놀람을 피하라.

Tip 24 코드와 함께 일정도 반복하며 조정하라. 

Tip 25 지식을 일반 텍스트로 저장하라. 

Tip 26 명령어 셸의 힘을 사용하라. 

Tip 27 에디터를 유창하게(fluency) 쓸 수 있게 하라. 

Tip 28 언제나 버전 관리 시스템을 사용하라. 

Tip 29 비난 대신 문제를 해결하라. 

Tip 30 당황하지 말라. 

 

Tip 31 코드를 고치기 전 실패하는 테스트부터.

Tip 32 그놈의(damn…) 오류 메시지 좀 읽어라. 

Tip 33 “select”는 망가지지 않았다.

Tip 34 가정하지 말라. 증명하라. 

Tip 35 텍스트 처리 언어를 익혀라. 

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

Tip 37 계약으로 설계하라. 

Tip 38 일찍 작동을 멈춰라. 

Tip 39 단정문으로 불가능한 상황을 예방하라.

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

 

Tip 41 지역적으로 행동하라. 

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

Tip 43 예언하지 말라. 

Tip 44 결합도가 낮은 코드가 바꾸기 쉽다.

Tip 45 묻지 말고 말하라 Tell, Don’t Ask, TDA. 

Tip 46 메서드 호출을 엮지 말라.

Tip 47 전역 데이터를 피하라. 

Tip 48 전역적이어야 할 만큼 중요하다면 API로 감싸라. 

Tip 49 프로그래밍은 코드에 관한 것이지만, 프로그램은 데이터에 관한 것이다. 

Tip 50 상태를 쌓아 놓지 말고 전달하라. 

 

Tip 51 상속세를 내지 말라. 

Tip 52 다형성은 인터페이스로 표현하는 것이 좋다. 

Tip 53 서비스에 위임하라. Has-A가 Is-A보다 낫다. 

Tip 54 믹스인으로 기능을 공유하라. 

Tip 55 외부 설정으로 애플리케이션을 조정할 수 있게 하라. 

Tip 56 작업 흐름 분석으로 동시성을 개선하라.

Tip 57 공유 상태는 틀린 상태다. 

Tip 58 불규칙한 실패는 동시성 문제인 경우가 많다. 

Tip 59 공유 상태 없는 동시성을 위하여 액터를 사용하라. 

Tip 60 칠판으로 작업 흐름을 조율하라. 

 

Tip 61 여러분 내면의 파충류에게 귀 기울여라. 

Tip 62 우연에 맡기는 프로그래밍을 하지 말라. 

Tip 63 사용하는 알고리즘의 차수를 추정하라. 

Tip 64 여러분의 추정을 테스트하라. 

Tip 65 일찍 리팩터링하고, 자주 리팩터링하라. 

Tip 66 테스트는 버그를 찾기 위한 것이 아니다. 

Tip 67 테스트가 코드의 첫 번째 사용자다. 

Tip 68 상향식이나 하향식이 아니라 끝에서 끝까지(end-to-end) 만들어라. 

Tip 69 테스트할 수 있도록 설계하라. 

Tip 70 여러분의 소프트웨어를 테스트하라. 그러지 않으면 사용자가 테스트하게 된다. 

 

Tip 71 속성 기반 테스트로 가정을 검증하라. 

Tip 72 단순함을 유지하고 공격 표면을 최소화하라. 

Tip 73 보안 패치를 신속히 적용하라. 

Tip 74 이름을 잘 지어라. 필요하면 이름을 바꿔라. 

Tip 75 자신이 뭘 원하는지 정확히 아는 사람은 아무도 없다. 

Tip 76 프로그래머는 사람들이 자신이 원하는 바를 깨닫도록 돕는다. 

Tip 77 요구 사항은 피드백을 반복하며 알게 된다. 

Tip 78 사용자처럼 생각하기 위해 사용자와 함께 일하라. 

Tip 79 정책은 메타데이터다.

Tip 80 프로젝트 용어 사전을 사용하라.

 

Tip 81 생각의 틀을 벗어나지 말고, 틀을 찾아라. 

Tip 82 코드에 혼자 들어가지 말라.

Tip 83 애자일은 명사가 아니다. 애자일은 무언가를 하는 방식이다. 

Tip 84 작고 안정적인 팀을 유지하라. 

Tip 85 실현하려면 계획하라. 

Tip 86 모든 기능을 갖춘 팀을 조직하라.

Tip 87 유행하는 것이 아니라 실제로 잘 맞는 것을 사용하라. 

Tip 88 사용자에게 필요할 때 제공하라. 

Tip 89 버전 관리 시스템으로 빌드, 테스트, 릴리스를 운용하라. 

Tip 90 일찍 테스트하고, 자주 테스트하라. 자동으로 테스트하라. 

 

Tip 91 모든 테스트가 끝날 때까지는 코딩이 끝난 게 아니다. 

Tip 92 버그를 심어 놓고 테스트를 테스트하라. 

Tip 93 코드 커버리지만 올리지 말고 상태 조합을 테스트하라. 

Tip 94 버그는 한 번만 잡아라. 

Tip 95 수작업 절차를 사용하지 말라. 

Tip 96 사용자를 기쁘게 하라. 그저 코드만 내놓지 말라. 

Tip 97 자신의 작품에 서명하라. 

Tip 98 먼저, 해를 끼치지 말라. 

Tip 99 쓰레기 같은 인간을 돕지 말라.
Tip 100
결국 당신의 삶이다.
삶을 사람들과 나누고, 삶을 축하하고, 삶을 만들어가라. 그리고 그걸 즐겨라! 

 

 

'Book > Pragmatic Programmer' 카테고리의 다른 글

제 9장 실용주의 프로젝트  (0) 2022.04.05
진정한 요구 사항 (연습문제 33)  (0) 2022.04.04
제 8장 프로젝트 전에  (0) 2022.04.03
제 7장 코딩하는 동안  (0) 2022.04.02
제 6장 동시성  (0) 2022.03.29

댓글