Vintage appMaker의 Tech Blog

소프트웨어 개발에서 중요한 것 - "코드 지우기" 본문

강좌, 연재/1인 개발자의 사업 버그리스트

소프트웨어 개발에서 중요한 것 - "코드 지우기"

VintageappMaker 2022. 4. 13. 11:31
화장은 하는 것보다
지우는 것이 중요하다

 

개발을 하다보면 너무나 훌륭한 오픈소스 프레임웍(Open source Frameworks)들을 만나게 된다. 
프로그래밍에서 프레임웍 없이 개발할 경우, 수많은 보일러 프레이트 코드를 생산해야 하는 번거러움이 있다. 하지만  잘 만들어진 프레임웍 또는 라이브러리를 사용할 경우 코드량을 현격히 줄일 수 있다. 결과적으로 빠른 생산능력을 얻게된다. 

 

경험상, 2010년 전후로 국내에서도 오픈소스가 보편화됨을 체감할 수 있었다.  "놀라울 정도로 고성능"의 코드들을 "무료"로 사용할 수 있게 되었다. 많은 개발자들이 환호했고 오픈소스 분위기에 편승했다. 그러다보니 같은 결과물을 얻기위해 "[훌륭한] 소스코드" 가 무수한 방법론으로 제시되기 시작했다. 

 

이제는 backend, frontend, App 분야에서 오픈소스없이 개발한다는 것이 상상하기 힘들다. 

모든 것들이 오픈소스 기반에 또다른 오픈소스가 서로를 이용하며 발전된 새로운 기능을 제공하고 있기 때문이다. 

 

그러나 이런 현상이
개발자나 회사입장에서는 언제나 좋은 것만은 아니다. 

바로 아래에 정리한 소프트웨어의 3가지 특성 때문이다. 

 

  1. 개발환경(OS 업그레이드, 기술정책, 법적문제, 보안, 각종 버그 등등)이 주기적으로 빈번하게 변한다. 
  2. 개발환경에 따라 프레임웍도 변하는 경우가 많다. 
  3. 소프트웨어는 유저의 요구사항으로 인해 꾸준히 재개발해야 한다. 

 

이렇다보니 작년에 괜찮게 개발했던 소스코드가 올 해에는 비효율적인 코드가 되는 경우가 종종 생긴다. 
그렇게 된 이유는 1번인 개발환경이 변했기 때문이기도 하지만 3번인 유저의 요구사항을 반영하지 못하는 경우도 있다 .

그러다보니 2번 프레임웍에 대해 고민을 할 필요가 생긴다. 

 

지금 사용하는 프레임웍을 언제까지 사용할 수 있을까?
또는 이 프레임웍을 사용할 필요가 있을까?

 

이다. 대부분의 프레임웍이 견고하다. 그리고  쉽게 뜯어내기 힘든 구조이다. 그러다보니 처음부터 특정 프레임웍의 철학으로 뼈대를 잡았다면 간단한 기능이라도 "프레임웍 규칙에 벗어나는 방법으로는.." 쉽게 바꿀 수 없는 것이 일반적이다. 비유하자면 상식으로 보면 금방 해결될 것같은 민원 같은 것도 국가의 행정법으로 처리하는 순간, 상식 밖의 비합리적인 과정을 겪는 것과 비슷하다. 결과적으로 많은 경험이 있는 개발회사나 개발자들은 "견고한 프레임웍"을 만드는 것이 이상으로 "얼마만큼 편하고 빠르게 코드를 제거하고 대체할 수 있는 가?"에 중점을 두게 된다.

 

오랜기간을 거쳐 개발하는 동안
이전에 만들어놓았던 프레임웍이
짐이 되는 순간이 온다. 

 

그러므로 코드를 얼마나 빠르게 제거할 수 있는 지 고려하는 것도 중요한 개발습관이다. 

Comments