토요일, 6월 28, 2014

[B급 프로그래머] 소프트웨어 개발을 위한 우수 관례

Best Practices Ever for Software Development라는 글이 트위터에 올라와서 독자 여러분을 위해 간단하게 번역해봤다.

  1. 컴퓨터가 아니라 사람을 위해 프로그램을 작성하라.
    • 독자들에게 한번에 머리에 들어오는 사실을 넘어 더 많은 것을 기억하게 요구해서는 안 된다.
    • 이름은 일관성이 있고, 독특하고, 의미가 있어야 한다.
    • 코딩 스타일은 일관성이 있어야 한다.
    • 소프트웨어 개발의 모든 측면은 대략 한 시간짜리 과업 여러 개로 나눠야 한다.
  2. 반복적인 작업을 자동화하라.
    • 반복적인 작업을 컴퓨터에 의존하라.
    • 재사용을 위해 파일에 최근 명령을 저장하라.
    • 과학적인 작업 흐름을 자동화하기 위해 빌드 도구를 사용하라.
  3. 컴퓨터를 사용해 이력을 기록하라.
    • 계산 작업을 자동으로 추적하기 위해 소프트웨어 도구를 사용하라.
  4. 점진적인 변경을 가하라.
    • 잦은 피드백과 중간 궤도 변경을 곁들여 작은 단계로 나눠 일을 진행하라.
  5. 버전 관리 시스템을 사용하라.
    • 버전 관리를 사용하라.
    • 버전 관리 시스템을 사용하라.
    • 수동으로 생성하는 것은 뭐든지 버전 관리 시스템에 넣어라.
  6. 반복하지 마라(DRY).
    • 모든 자료는 시스템에서 단일 책임을 표현해야 한다.
    • 코드를 복사해서 붙이는 대신 모듈화하라.
    • 코드를 재작성하는 대신 재사용하라.
  7. 실수에 대한 계획을 세워라.
    • 연산을 점검하기 위해 프로그램에 assert를 추가하라.
    • 시중에 나와 있는 단위 테스트 라이브러리를 사용하라.
    • 프로그램을 테스트할 때 가능한 모든 수단을 사용하라.
    • 버그를 테스트 케이스로 전환하라.
    • 심벌릭 디버거를 사용하라.
  8. 제대로 동작하고 난 다음에야 소프트웨어를 최적화하라.
    • 프로파일러를 사용해 병목을 파악하라.
    • 가능한 고차원 언어를 사용해 코드를 작성하라.
  9. 동작 방식이 아니라 설계와 목적을 문서화하라.
    • 구현이 아니라 인터페이스와 이유를 문서화하라.
    • 동작 방식을 설명하는 대신 코드를 리펙터링하라.
    • 소프트웨어 내부에 소프트웨어 일부로 문서를 내장하라.
  10. 공동으로 작업하라.
      합치기 전에 코드 검토를 수행하라.
    • 곤란한 특정 문제를 추적하거나 새로운 신입의 속력을 높이려 할 때는 짝 프로그래밍 기법을 사용하라.
  11. 낡은 코드를 유지보수하고 개선하라.

독자 여러분들께서 추천하는 관례는 무엇인가? 공유를 위해 댓글로 달아주시면 좋겠다.

EOB

댓글 없음:

댓글 쓰기