실용주의 프로그래머 3장 기본 도구

inhalin·2022년 3월 23일
0

노개북 4~5일차

  • 3장 기본적인 도구

요약 및 느낀 점

들어가며

  • 일반적으로 적용되는 기본적인 도구 세트로 시작하라. (130쪽)
  • IDE가 강제하는 편리함의 울타리 바깥에서도 능숙하게 작업할 수 있어야 한다. (130쪽)

일반 텍스트의 힘 Plain Text

  • 일반 텍스트란 사람이 직접 읽고 이해할 수 있는 형태의 인쇄가능한 문자로 이루어진 텍스트를 말한다. (132쪽)
  • 일반 텍스트를 사용하면 ... 어떤 의미인지 자명한 데이터 흐름을 얻을 수 있다. (133쪽)
  • 텍스트의 힘
    • 레거시 시스템에서 이해하기 쉽고, 더 오래 살아남을 수 있다.
    • 사람이 읽을 수 있는이해할 수 있는 사이에는 차이가 있다. (135쪽)
    • 설정파일이 일반 텍스트로 되어 있으면 데이터가 바뀔때 비교가 쉽다.
    • 테스트 데이터의 추가, 수정이 쉽다.

셸 가지고 놀기 Shell Games

  • 셸에 익숙하지면 생산성이 급상승하는 걸 알게 될 것이다. (142쪽)
  • 도전해 볼 것
    • 현재 GUI에서 수작업으로 하는 작업을 자동화하기
    • 현재 환경에서 어떤 셸을 사용할 수 있는지 확인하기
    • 현재 사용하는 셸의 대안 조사하기

파워 에디팅

  • 에디터 하나를 골라서 완전히 마스터하고, 모든 편집 작업에 그 에디터를 사용하라. (146쪽)
  • 도전해 볼 것
    • 1년에 1개 새로운 언어 배우기

버전 관리

  • 언제나 버전 관리 시스템을 사용하라. (154쪽)
    • 프로그래밍 뿐만 아니라 공부할때 메모, 필기 등에서도 버전 관리 시스템 사용하기
  • 전체 프로젝트에서 버전 관리 시스템을 사용하면 제품 빌드가 자동화되고 그것을 반복할 수 있게 된다.
  • 빌드를 자동화하는 것은 일관성을 보장한다. (154쪽)

디버깅

Tip 24
비난 대신 문제를 해결하라. (158쪽)

  • 버그가 누구의 잘못인지는 중요하지 않다. 어쨌든 그 버그는 내가 고쳐야 할 문제다.
  • 항상 문제의 근본적인 원인을 발견하려고 노력하고, 그 문제의 특정한 증상만 고치려고 하지 말라. (159쪽)
  • 디버깅 전략
    • 고무 오리: 코드가 무엇을 하는지 말로 다른 사람한테 설명한다. 꼭 사람일 필요는 없다. 고무 오리 인형에게 설명해도 같은 효과를 얻을 수 있다.

Tip 27
가정하지 마라. 증명하라. (167쪽)

  • 버그를 마주치면 단순히 그걸 고치는 것을 넘어서, 왜 이 실패가 더 일찍 발견되지 않았을까 생각해 볼 필요가 있다. 버그를 미리 잡을 수 있도록 단위 테스트나 다른 테스트를 수정할 필요가 있는지 고려하라. (167쪽)
  • 버그를 고치는 데 긴 시간에 걸린다면 왜 그런지 자문하라. 다음에 더 쉽게 고칠 수 있게 하는 뭔가가 있을까?
  • 만약 버그가 누군가가 내린 잘못된 가정의 결과라면, 이 문제를 전체 팀과 함께 토론하라. 한 사람이 오해했다는 것은 여러 사람이 그럴 수 있다는 이야기다.

더 공부할 내용

  • 셸 스크립트 쉬운 것부터 익히기
  • 리눅스 환경에서 개발하는 데에 익숙해지기
  • 현재 회사에서 사용중인 IDE 사용법 단축키 등 익히기

0개의 댓글