KUR Creative


'뇌절'을 하지 않아야 한다

resource/뇌절.jpg

프로그래밍에는 수없이 많은 방법론과 다양한 패러다임이 있다.
그래서 어떤 프로그램을 만들어도, 수없이 다양한 방법이 존재한다.

이런 혼돈속에서 프로그래머는 하나를 선택해야 하는데,
자신이 익숙해서, 혹은 아는게 그거 밖에 없어서 뇌절을 하는 경우가 잦다.

여기서 뇌절이란 무엇인가?
다양한 문제를 어떤 방법론 하나 혹은 하나의 패러다임으로 모두 떡을 치려고 하는 습성이다.

예를 들어 자바는 언어 그 자체로 뇌절이다.
클래스 밖에 없는 병신 언어라서 모든 문제를 클래스와 메서드로 해결하려고 한다.
그런데 자바의 패러다임에 맞지 않는 문제를 어떻게 자바로 해결할까?

그것이 바로 디자인 패턴이다.
이거는 커맨더고 저거는 팩토리고... 이건 싱글톤이고....

물론 디자인 패턴 중에서도 알아두면 좋은 것들이 있다.
자바에 의해서 왜곡된 부분이 있지만 플머들이 많이 만나는 문제는 정해져 있는 법이다.

그런데 모든 문제에 또 디자인 패턴을 적용하려고 설치는 경우가 있다
뇌절에 뇌절을 해대기 시작하는 것이다.
디자인 패턴을 너무 추구해서 프로그래밍을 하자는 건지 패턴을 구현하자는 건지 모르겠는 코드는 보면 기가 찬다.

그 외에도 TDD, 함수형 프로그래밍, ...
과하면 뭐든지 뇌절이 된다. 뭐가 되었든 그렇다.
우리가 추구해야 하는 것은 적절한 문제에 적절한 해답을 내놓는 것이다.

애초에 다양한 문제를 단 하나의 관점(패러다임)으로 해결하려는 시도 부터가 잘못된 것이다.
그게 가능할리 없잖은가? 상식적으로 생각해봐도 그렇다.

resource/번개잘랐다고.png
프로그래머는 문제를 해결하는 사람이다.
문제를 해결하려다 문제를 만들어 버리는 뇌절을 조심하자.

한 번쯤은 마구 뇌절 해보는 것도 좋은 경험이 된다.
하스켈로 장난감을 만든다거나, 모든 모듈을 작성할 때 TDD를 정확히 지켜본다거나.

하지만 소중한 프로젝트일수록 뇌절 보다는 현실적으로 생각해야할 것이다.

#from/old-blog#problem-solving문제해결
kur1909300908Archivekur2002190925