read

프로그램을 만들면서 이런 기능 더하고, 저런 기능 더하고 하다보면,
코드가 딜딜딜 꼬여서 나중에는 아주 더럽게 생겨먹은 놈이 나오곤 하는데..

뭐 예를 들자면 이 변수는 저 구조체를 참조하고 저 구조체에는 요 구조체가 들어가 있고 요 구조체는 이런 함수 포인터를 가지고.. 등등등

아무튼 이걸 개선해야되겠다고 마음 먹은 순간!

갈등의 기로에 서게 된다.

기존걸 확 뒤엎어 버리고 새로 깔끔하게 만들 것인지..
아니면 원래 것을 지켜가며 문제가 되는 부분을 점차적으로 수정할 것인가..

첫번째 방법은 코드도 깔끔해지고 그나마 손 쉽게 할 수 있지만, 새로운 버그들을 만들어낼 우려가 있고, 두번째는 약간의 지저분한 코드를 가지게 되고 무엇보다 손이 많이 가게 된다. 하지만, 어느정도 검증된 (비록 문제가 있더라도) 코드를 기반으로 하므로 새로운 버그가 생길 확률은 줄게된다.

이와 같은 선택의 기로는 프로그램 짤 때뿐만이 아니라 일상 생활에서도 자주 만나게 되는데..

여기서 앞과 같이 확 뒤엎는 경우를 '진보', 문제가 있더라도 기존것의 수정을 택하는 후자의 선택 쪽을 '보수' 라고 내 나름대로 정의하고 있다.

그럼 나는 어느쪽이냐? 하면..

내가 만든 코드에 대해서는 '진보'. 남이 만든 것에 대해서는 '보수' 적 입장이다. 물론 프로그램 얘기다. 근데 조금 더 생각해보니 실제 정치적 성향도 이와 비슷한 거 같다. 나만 관계된 일에는 '진보'. 남과 같이 얽혀 있는 일에는 '보수'.

음 뭔가 연관성이 좀 있어 보이는데...

아무튼, 결론은 진보와 보수는 적절히 섞여 있어야만 된다는 것. 적당히 기존 틀을 유지하며 고쳐주고, 때가 되면 한번 뒤엎어 주고...

그래야 좋은 프로그램을 만들 수 있지 않을까?

Blog Logo

Ki Sung Bae


Published

Image

Gsong's Blog

Developer + Entrepreneur = Entreveloper

Back to Overview