프로그래밍 에세이

프로그래머, 조급증을 버리자.

지노윈 2019. 11. 3. 13:27
반응형

2019년 도서관 한켠에 앉아 2009년 어느날에 작성했던 글을 다시 꺼내 보고 있지요.

 

"프로그래머들은 빨리 코딩에 들어 가고 싶은 조급증을 가지고 있다.
그리고 빨리 컴파일을 해보려는 조급증이 있다.
빨리 다음 단계로 넘어 가고 싶은 조급증이 있다.
작은 프로그램을 개발 할때는 문제 없을 수 있다.
그러나 여러명이 참여 하는 큰 프로젝트에서는 이는 결국 추후
유지보수의 어려움 소스의 리팩토링이라는 재앙이 되어 자신에게 되돌아 올 것이다.
 
프로그래머는 객체지향 설계와 디자인 패턴등의 지식기반을 갖추어 나가야 합니다.
이러한 설계 능력은 단기간 내에 지식적으로 습득 하였다고 해서 이루어 질 수 있는 것이 아니라
경험이 바탕이 되어야 가능해 지는 것이기에 너무 조급해 하지는 말아야 합니다.
작은 프로젝트에서 부터 차곡 차곡 경험을 쌓아 올려 몸에 베이게 해야 겠습니다.
 
작성중인 루틴이 완성되기 전까지 컴파일을 해보는 습관을 버리자.
루틴 작성이 완성 되었으면 눈으로 재확인 하는 습관을 키우자.
재확인 과정을 생략 한체 컴파일러가 주는 워닝이나 에러가 안뜬다고 안심하는 프로그래머가 꽤 있다.
이러한 습관은 코드의 오류를 줄여주며 자신의 코드를 명확히 이해 할 수 있는 시간을 가져 줄 것이다.
 
루틴 작성 이후 루틴 테스트를 해 볼 것이다.
정상적인 입력을 주어 원화는 출력이 나오는지 확인 하고 그 단계는 완료 되었다라고 간주하고
다음 단계로 넘어 가는 경우가 있다.
그러나, 이러한 습관은 단기적으로는 빠른 개발을 했다고 생각 하겠지만...
몇일 몇주가 지난 다음 해당 기능의 예외상황들이 버그 레포팅 될 것이며
그때는 이미 루틴의 많은 부분을 기억에서 잊어버린 상태일 것이다.
이것을 해결하는 노력과 시간은 10배 어쩌면 100배 이상 더 걸릴 수 있다.
자신이 작성한 루팅에 대한 재확인 절차를 거칠때 예외 상황도 그 대상이 되어야 합니다.
 
조급증을 버리는 것이 결과적으로는 소중한 노력과 시간을 줄여줍니다."

 

11년 전에도 이러한 생각을 하며 일관성 있게 개발자로서 프로그래밍을 사랑하고 좋은 습관을 가지려고 부단히 노력 했던 것 같다.

11년 전에도 이런 생각을 했었던 나 자신을 뿌듯해 하며 앞으로 더욱더 열심히 노력하는 나의 모습을 생각하니 행복해진다.