2006/08/01 16:00 Developer
framework는 과연 생산성을 높여주나요?
과연 정말 프레임워크가 생산성을 높여주는가? 다시 한번 생각을 해보자!!
결론부터 얘기를 하면, 분명히!! 당연히!! 생산성이 올라간다.
용어정리부터 해보자.
1. framework란? (http://kwon37xi.egloos.com/2597583)
2. 생산성이라는 것은, 생산성 + 유지보수비용!!
생산만하고 손떼는 코드가 아닌 유지보수를 포함한 지표를 얘기한다.
프레임워크는 대부분 팀프로젝트일 경우 더 막강한 힘을 발휘합니다.
같은 프레임워크를 사용을 하면, 그리고, 어느정도 표준에 근접한 대중적인 프레임워크를 사용하면, 개발을 할 사람도 많을 것이고, 비슷한 코드를 만들어내기 때문에 유지보수성도 좋아진다.
자신도 모르게 좋은 디자인의 코드, 좋은 프로그래밍 모델을 따라하게 될수도 있다.(물론, 잘못 고른 프레임워크때문에 반대도 있다는 거 인정합니다.)
비단, 개발 생산성뿐만 아니라, 유지보수도 무시 못할 비용이다. 잘 만들어진 디자인의 코드들은 어떤 상황이 와도 재사용성이 높다. 100퍼센트 완벽하다는 얘기가 아니다, 그럴 확률이 높아진다는 얘기다.
하지만, 정말 중요한 부분은 프레임워크가 아니라, 얼마나 OOP를 잘 지켰느냐, 더 나아가서는 중복코드와 decoupling한 코드를 만들어내느냐가 관건이고, 대부분의 프레임워크가 집중하는 부분이기도 하다.
프레임워크가 무엇일지라도, 그것에 decoupled하게 코드를 만들어낼수 있다면, 그때는 프레임워크를 걷어내도 될것이다.
정말 중요한 것은 핵심로직에 집중해서 개발을 할수 있느냐이다.
별 상관없는 유틸 클래스 만들면서 시간을 보내지 말자.
아무리 못해도 2년에 한번씩은 대부분의 어플리케이션은 재개발을 한다. 그때마다 코드의 변경을 두려워해야 한다면, 지금 바로 리팩토링을 시작해라.
framework와 tool이 없던 시대로 돌아가서 vi로 개발하고 싶은 분들은 그 때로 돌아가도 좋다. 과연 현재와 같은 생산성을 만들어낼수 있겠는가?
난 2002년까지 vi or editplus로 개발을 했으나, 지금 사용하고 있는 eclipse와 사용하고 있는 framework들이 맘에 든다. 사실, 부족한 부분은 더 나은 것을 찾으려고 애쓰기까지 한다.
Framework, Tool, 생산성에 관하여
http://blog.funspaces.org/?p=33
프레임워크(Framework)와 생산성 이슈
http://blog.empas.com/ahnyounghoe/15017232
: kenny의 생각을 적은 글에 반대로 생각을 해서 적은 글은 아닙니다. 비슷한 생각인데, 글에 따라서 다르게 보일수도 있죠...ㅎㅎㅎ
결론부터 얘기를 하면, 분명히!! 당연히!! 생산성이 올라간다.
용어정리부터 해보자.
1. framework란? (http://kwon37xi.egloos.com/2597583)
IT 분야에서 사용하는 용어는 여러 가지 의미를 가지거나 모호한 단어들이 많기 때문에 정확한 용어의 의미를 이해하지 않고서는 글의 내용을 올바로 이해하기 힘들다. GoF의 디자인 패턴으로 유명한 랄프 존슨(Ralph Johnson) 교수는 프레임워크를 "소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것"이라고 정의하였다. 프레임워크는 라이브러리와 달리 애플리케이션의 틀과 구조를 결정할 뿐 아니라, 그 위에 개발된 개발자의 코드를 제어한다. 프레임워크는 구체적이며 확장 가능한 기반 코드를 가지고 있으며, 설계자가 의도하는 여러 디자인 패턴의 집합으로 구성되어 있다.
2. 생산성이라는 것은, 생산성 + 유지보수비용!!
생산만하고 손떼는 코드가 아닌 유지보수를 포함한 지표를 얘기한다.
프레임워크는 대부분 팀프로젝트일 경우 더 막강한 힘을 발휘합니다.
같은 프레임워크를 사용을 하면, 그리고, 어느정도 표준에 근접한 대중적인 프레임워크를 사용하면, 개발을 할 사람도 많을 것이고, 비슷한 코드를 만들어내기 때문에 유지보수성도 좋아진다.
자신도 모르게 좋은 디자인의 코드, 좋은 프로그래밍 모델을 따라하게 될수도 있다.(물론, 잘못 고른 프레임워크때문에 반대도 있다는 거 인정합니다.)
비단, 개발 생산성뿐만 아니라, 유지보수도 무시 못할 비용이다. 잘 만들어진 디자인의 코드들은 어떤 상황이 와도 재사용성이 높다. 100퍼센트 완벽하다는 얘기가 아니다, 그럴 확률이 높아진다는 얘기다.
하지만, 정말 중요한 부분은 프레임워크가 아니라, 얼마나 OOP를 잘 지켰느냐, 더 나아가서는 중복코드와 decoupling한 코드를 만들어내느냐가 관건이고, 대부분의 프레임워크가 집중하는 부분이기도 하다.
프레임워크가 무엇일지라도, 그것에 decoupled하게 코드를 만들어낼수 있다면, 그때는 프레임워크를 걷어내도 될것이다.
정말 중요한 것은 핵심로직에 집중해서 개발을 할수 있느냐이다.
별 상관없는 유틸 클래스 만들면서 시간을 보내지 말자.
아무리 못해도 2년에 한번씩은 대부분의 어플리케이션은 재개발을 한다. 그때마다 코드의 변경을 두려워해야 한다면, 지금 바로 리팩토링을 시작해라.
framework와 tool이 없던 시대로 돌아가서 vi로 개발하고 싶은 분들은 그 때로 돌아가도 좋다. 과연 현재와 같은 생산성을 만들어낼수 있겠는가?
난 2002년까지 vi or editplus로 개발을 했으나, 지금 사용하고 있는 eclipse와 사용하고 있는 framework들이 맘에 든다. 사실, 부족한 부분은 더 나은 것을 찾으려고 애쓰기까지 한다.
Framework, Tool, 생산성에 관하여
http://blog.funspaces.org/?p=33
프레임워크(Framework)와 생산성 이슈
http://blog.empas.com/ahnyounghoe/15017232
: kenny의 생각을 적은 글에 반대로 생각을 해서 적은 글은 아닙니다. 비슷한 생각인데, 글에 따라서 다르게 보일수도 있죠...ㅎㅎㅎ