좋은 프로그래밍의 원칙들 프로그래밍

좋은 프로그래밍의 원칙들이라는 글이 올라왔다.

내가 보기엔 실용주의 프로그래머 책에 나온 내용을 정리하는 듯한 인상을 주는 내용이다. 다시 한 번 기억할 겸 정리해본다.

  1. DRY - Don't Repeat Yourself : 중복을 허용치 말라. 프로그래머가 기억해야할 가장 중요한 덕목이다.
  2. 추상화의 원칙 : 프로그램에서 각각의 중요한 기능은 소스코드의 한 곳에서만 구현한다.
  3. KISS(Keep it simple, stupid) : 간결하게!!
  4. YAGNI(You aren't going to need it) 피하기 : 필요없는 기능을 지금 추가하려 들지말라.
  5. 작동 가능한 가장 간단한 형태로 만들라.
  6. 코드 읽는 이를 생각하게 만들지 말라 : 읽고 이해하기 어려운 코드는 간결하게 바꾸라.
  7. 개방 폐쇄(Open/Closed)의 원칙 : 모듈/클래스/함수 등은 확장에는 열려있고, 수정에는 닫혀있어야 한다. 예를들면, 클래스를 만들때 클래스 사용자가 클래스소스를 수정하게 만들지 말고, 클래스를 상속(확장)해서 쓸 수 있게 만들어라.
  8. 유지보수하는 사람을 위한 코드를 만들라 : 먼 훗날 나 혹은 다른 사람이 유지보수 할 때 문제 없는 코드를 만들라. "내가 짠 코드를 내가 사는 곳이 어딘지를 아는 미친 살인마가 유지보수 할 것이라는 생각을 가지고 코딩하라"
  9. 최소 놀람의 원칙 : 코드가 읽는 이를 놀라게 해서는 안된다. 표준 코딩 컨벤션을 따르고 주석과 명명이 의미 전달을 잘 해야 하며, 잠재적으로 놀래킬 수 있는 부작용을 최소화 하라.
  10. 단일 책임(Single Responsibility) 원칙 : 하나의 컴포넌트는 잘 정의된 하나의 작업만 수행하게
  11. 결합도(Coupling)를 낮추라 : 코드의 한 부분(코드 블럭,함수,클래스 등)은 다른 코드에 의존을 최소화해야 한다. 변수 공유를 최소화 하라.
  12. 응집도(Cohesion)을 높이라 : 비슷한 기능을 하는 코드는 동일한 위치에 두라.
  13. 상세한 구현은 숨기라 : 구현을 숨길수록 해당 컴포넌트를 사용하는 코드에 영향을 최소한으로 주고 수정을 할 수 있게 된다.
  14. 디미터의 법칙(Law of Demeter) : 직접적 관련인 있는 코드만 호출하라.
  15. 조급한 최적화를 피하라.
  16. 코드를 재사용하라.
  17. 관심사의 분리(Separation of Concerns ) : 서로 다른 기능들이 섞이는 것을 최소화 하라. HTML/CSS, AOP 등.
  18. 변화를 포용하라 : 애자일의 원칙중에 하나이며, 위에 나온 많은 원칙들이 코드의 변화를 쉽게하기위한 것들이다.

공유하기 버튼

 
 

덧글

  • 달하 2013/07/16 15:31 # 삭제 답글

    너무 재미있네요 ^^ 잘읽었습니다. 제 블로그에도 옮겨갑니다. ㅎㅎ~ 출처는 표기하였습니다. ㅎ
댓글 입력 영역