닷넷 기술 지원 과정에서 얻은 주의할 점
한빛미디어
|
2004-07-09
|
by HANBIT
21
12,322
저자: 황병훈 / SK C&C R&D Center 기술전략팀
작년부터 회사에서 닷넷 기반 프로젝트 기술 지원이란 임무를 맡게 되었다. 사업팀에서 닷넷 기반 프로젝트를 수행할 때 설계부터 개발까지 필요한 기술적 요소를 지원하게 되었다. 개인적으로는 2개의 프로젝트에 참여하였는데, 간단하게 기술 지원 나갔을 때의 어려웠던 점을 이야기해 볼까 한다. 이를 통해 개발자가 무엇을 준비해야 되는지 느껴보는 기회가 되길 바란다.
첫번째, 기존에 ASP나 비주얼 베이직을 개발해 본 경험이 있으면 닷넷을 쉽게 개발할 수 있다고 생각하는 사람이 많았다. 실제 ASP나 비주얼 베이직을 개발해 본 경험이 있으면 그렇지 않은 사람보다 이해하기 쉽다는 것이지, 비슷해서 쉽게 개발할 수 있는 것은 아니다. 프로젝트에서 개발을 담당할 사람을 만나보았는데, 다들 ASP, 비주얼 베이직으로 개발해본 경험이 있기 때문에 아무 준비 없이 닷넷으로 쉽게 개발할 수 있다고 했다.
“ASP와 ASP.NET은 얼마나 똑같을까?, VB는 VB.NET과 똑같을까?”라고 반문하고 싶어졌다. 이렇게 준비가 안 되어 있는 사람들과 어떻게 프로젝트를 진행할지 눈 앞이 캄캄했다. 이 글을 읽고 있는 분은 최소한 위와 같은 물음에 대답을 할 수 있어야 한다. 개인적으론 이보다 먼저 객체지향(Object-Oriented)에 대해서 시작을 했으면 싶다. 객체지향 언어로 거의 절차적 프로그래밍을 하는 사람이 많다. 기존 프로그래밍 방식과는 사상 자체가 다르기 때문에 기존 것의 연장선에서는 좋은 프로그래밍을 한다는 것은 거의 불가능하다고 생각된다.
두번째, 닷넷 프레임워크를 충분히 이해해야 한다. 가끔 “닷넷 프레임워크라는 엄청난 선물을 개발자에게 주었지만 개발자가 얼마나 잘 활용하고 있을까?”라는 생각이 든다. 프로젝트 진행 중에 어떤 개발자는 이미 닷넷 프레임워크에서 제공해주는 클래스를 몰라서 직접 원리 구현하고 있는가 하면 클래스를 적시 적소에 제대로 사용하는 경우가 드물다.
예를 들어, ASP.NET으로 웹 응용 프로그램을 개발하는 데 Application, Session, Viewstate, Cache 등의 차이를 정확히 몰라서 그냥 Session에 공통 데이터를 넣어두고 쓰는 경우가 있었다. 어설프게 알고 그냥 개발자 편리한대로 원칙도 없이 사용하면 차라리 사용하지 않는 게 낫다. 최소한 닷넷 프레임워크의 구조를 개괄적으로라도 파악하여 무엇이 있는지는 알아야 한다. 또한 제공해주는 클래스를 사용할 때는 정확하게 사용법을 이해해서 제대로 적용했으면 싶다. 가장 훌륭한 선생은 바로 Visual Studio .NET에 있는 Help다. 이보다 더 자세한 설명은 없다. 주저하지 말고 F1 키를 누르는 것을 생활화하면 바로 답이 보일 것이다.
세번째, 나무보다는 숲을 보려고 노력하자. 개발자들은 자기가 맡은 부분에만 빠져서 전체를 보지 못하는 경우가 많다. 프로젝트를 지원할 때 개발 표준을 가이드하였는데, 예를 들어 3-계층 구조를 적용한 프로젝트 구조를 설정하고 관련 계층별 필요한 공통 컴포넌트를 작성하여 제공하고, 어떻게 개발을 해야 되는지 템플릿을 만들어 주었다. 또한 개발 패턴을 표준화하였다. 이는 여러 개발자가 각자 스타일대로 개발하여 나중에 가독성이나 유지보수성, 일관성이 떨어지는 것을 막을 수 있다. 세부 구현 기술도 중요하지만 전체적인 관점(즉, 구조 관점)에서 접근하여 어떻게 개발해야 될지 고민하기 바란다. 이것은 먼저 자동차나 건물의 골조(뼈대, 프레임워크)를 만들어서 뼈대에 살을 붙여나가자는 이치다.
결론적으로 위 예를 비롯하여 이젠 단순 개발자(코더)가 아니라 내공을 잘 쌓아서 소프트웨어의 신의 경지인 소프트웨어 아키텍트(Software Architect)가 될 수 있도록 노력해보길 바란다. 공부해야 될 것이 많을 것이다. 객체지향, CBD, 디자인 패턴, 아키텍처, 아키텍처 스타일, 응용 프로그램 프레임워크, 데이터베이스 등 헤아릴 수 없다. 한 계단씩 올라가듯 하나씩 제대로 정복해 보길 바란다.
TAG :