설계의 대한 단상

수업 및 프로젝트 멘토링을 하다보면 프로젝트, 클래스 설계에 욕심이 많은 수강생을 자주 만나게 된다.

그럴 때마다 설계를 하지 않는 게 좋다는 식으로 답을 줄 때가 많다.
개인적으로도 설계 및 구조 보다는 잘 동작하는 코드를 구현하는 데 집중하는 것이 더 좋지 않은가 생각한다.

설계를 잘해야 하지 않을까 생각하는 수강생들 대부분은 나중에 프로젝트가 커질 때를 미리 대비해 지금 있지도 않은 상황을 예상해서 설계를 진행하는 경우가 대부분이다.
또한 설계를 잘하면 프로젝트를 더 효율적으로 관리하고 진행할 수 있지 않을까하는 환상에 사로잡혀 있는 경우가 많다.

그리고 이런 경우 대부분의 설계는 어떤 전문가들이 좋다고 한 기법을 가져다 쓰는데 급급하다.
예를 들면, 프로젝트의 성격이나 규모 등 다방면의 분석은 하지 않고 객체 지향에서 좋다고 하는 인터페이스, 델리게이트를 일단 집어넣고, SOLID를 무조건 적용하려고 애쓴다.
관리를 잘하려 무언가 있어 보이는 설계를 했다지만, 결국 본인이 추가한 복잡도를 관리하지 못해 프로젝트 관리가 오히려 엉망이 된다.
몸에 맞지 않은 옷은 불편할 수 밖에 없다.

비슷한 기능을 여러 번 구현해보는 경험이 쌓이다 보면 나름대로 좋은 설계가 자연스레 반영되는 경우가 더 많다.

설계를 정말 잘 하려면 이미 그 레벨에 있어야 하는데 정작 그런 분들은 설계에 엄청난 공을 들이지는 않는 것 같다.
(나도 그 레벨은 아니라 그 심리를 정확히는 모르겠다..)
언제든 필요에 따라 변경이 가능할 수 있게 설계하는 경우도 많다.

그러니 설계보다는 구현에 집중하는 게 더 좋지 않을까?

하고 싶은 말이 많지만 이만..

RonnieJ

프리랜서 IT강사로 활동하고 있습니다. 게임 개발, C++/C#, 1인 기업에 관심이 많습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Please turn AdBlock off

Notice for AdBlock users

Please turn AdBlock off