난 요즘 디자인 패턴에 대한 고민이 좀 여러모로 생기고 있다.
새로 온 회사에서 여러모로 겪은 일들이 있는데 그중 하나가 바로 디자인 패턴에 대한 고민이었다.
좋은 방향으로 작성된 디자인 패턴의 코드는 누가 봐도 쉽게 이해할 수 있는, 쉽게 고칠 수 있는 그런 수준으로 작성하는 것이다라고 배웠고, 난 그걸 주로 리펙터링 과정에 이용한다. 일단 경영진과 돈의 움직임이 압박을 들어오게 되면 좋던 싫던 간에 동작하는 녀석이 먼저 나와줘야 하니깐….
근데 시간적인 압박이 있는 상황에서 패턴에 대한 깊은 생각을 하고 그걸 여러모로 수정하기 어렵게 구현되어 있는 것에 기반하여 동작하도록 만들고 하는 걸 그냥 묵인하고 봐야 되나 싶었다.
일단 이 사람 나름대로 편한 도구를 이용하여 작업을 한 것이다. 그것에 대해서 부정하고 싶진 않다. 코드가 그렇다고 해서 못짠 코드도 아니고…
근데 이 첨부터 완벽한 패턴화를 유지하려고 하다보니 수정작업에 대한 대응이 어려운 코드가 군데군데 발견되었다.
디자인 패턴을 비롯한 여러 개발자들의 소양이라 불리는 것들, 즉 도구가 요구사항과는 달리 쓸데없이 많이 그리고 정교하게 쓰인 것이다.
이게 요구대로 완성화된 프로그램이라면 다행인데… 내가 오고나서 들은 히스토리를 보니, 이건 예광탄이다. 앞으로도 수정해야 할 일들과 해야 할 일들이 한참 남아있었다. 그런데 굳이 이렇게 했다는 건 여러모로 트러블이 있었단 소리이다.
그러면 지금 당장 어떤 것이 필요하고 어떤 것이 요구되는지를 먼저 뒤져보고 내 나름대로 갈아 엎을 일만 남았다만….
좀 험난해 보인다. ;ㅅ;
글쓰는 작업이 여러모로 지체되었지만, 지금 그럴 단계가 아닌 거 같다.