2015년 4월 13일 월요일

빈 줄도 지워서는 안된다.

SVN 쓸까? Git 쓸까주제로 얘기를 하면 논쟁이 심하다하지만 이보다  중요한 것은 SVN이나Git 상관없이 어떻게 하면 여러 개발자들과 협업이  되도록 코딩을 하느냐다.

많은 개발자들은 혼자서 또는 소수의 인원과 개발을 한다또는 여러 명이 개발을 하더라도 자신의 소스코드가  정해져 있어서 혼자 개발하는 경우가 많다이러다 보니 협업을 위한 개발에는 별로 관심이 없다하지만 협업은 혼자서  때도 필요한 것이고 여러 명이 개발할 때는 더욱더 필요하다방법을 모르거나 문제를 피해 다니면 개발 효율이 떨어지고 한계를 넘지 못한다.

혼자서 개발을 하더라도 수많은 브랜치가 발생할  있고 한두 명끼리는 그럭저럭 개발을 하더라도개발팀이 조금만 커져서 뒤죽박죽이 되곤 한다.

그럼 어떻게 코딩을 하는 것이 좋을까?

첫째 줄도 고쳐서는  된다.

내가 고치고 있는 모든 소스코드는 다른 개발자들도 지금 고치고 있다고 생각해야 한다설사 혼자서고치는 소스코드라고 하더라도 습관이 된다협업을 하고 있다는 마인드는 꾸준히 유지를 해야 한다. 

  뿐만 아니다. Indentation 맞지 않는다고 고치는 것도 좋지 않다괜히 연산자 사이에 보기 좋으라고 빈칸을 추가하는 것도 나쁘다무조건 처음에 잘해야 하고 나중에는 그냥 놔두는 것이 낫다.

둘째파일 이름을 바꾸지 말아야 한다.

처음에 대충 파일을 만들다 보면 파일이름이 마음에  드는 경우가 있다그렇다고 파일을 이름 바꾸면 수많은 사람들에게 영향을 준다. Git에서는 파일을 이름 변경을 추적해주는 기능이 있지만 혼란을피할 길을 없다처음에  정해야 한다. 

셋째함수 이름과 정의를 바꾸지 않아야 한다.

대충 만들어 놓고 자꾸 바꾸는 것은 협업 습관이 없기 때문이다그리고 대충 만들고 나중에 수정하는것은 비용이  많이 든다아주 작은 시스템만 경험해  개발자는 이런 방법이  빠르다고 주장할지몰라도  시스템에 개발자가 수십 명이라면 얘기가 달라진다대충하고 바꾸는 습관이 들어서는 안된다.

넷째소스코드를 재배치하지 말아야 한다.

파일의 아래쪽에 있는 함수를 위로 올리고 정리를 하면 소스코드 Merge 어려워진다처음에  생각해서 정하고 나중에는 고치지 말아야 한다여러 사람이 동시 소스코드를 정리하면 소스트리는 완전히 뒤죽박죽이 된다.

이미 문제가 발생한 경우 리팩토링이 필요하게 되고 계획을 잘 세워서 시행해야 하고 상당한 비용을 치뤄야 하는 경우도 있다. 이런 경우는 최소화하고 처음부터 제대로 하는 것이 훨씬 낫다.

 외에도 변수를 어떻게 선언하느냐는  협업을 위한 수많은 코딩 노하우들이 있다항상 개발은혼자 하는 것이 아니다라는 것을 염두해 두고 개발하는 자세가 필요하다.
물론 위 내용들은 개발자 본인이 처한 환경에 따라서 천차만별로 생각할 수 있다. 혼자 개발하는 사람도 있고 수백명이 개발을 해도 혼자 일하는 것처럼 개발하는 경우도 많다. 수천명이 동시에 개발하는 환경에 있는 개발자도 있다. 
필자는 원칙과 원리에 대해서 얘기를 하는 것이니 원리에 대해서 이해를 해보는 노력을 해보자. 일하는 환경은 언제든지 바뀔 수 있지만 습관은 쉽게 바뀌지 않는다. 좋은 습관을 만들어가는 것은 본인의 몫이다.

댓글 3개:

  1. 저는 조금 반대입니다.2015년 5월 1일 오전 10:24

    저는 조금 반대인게 변경해야 하는 내용이 규격화된 내용과 맞지 않는 형식이라면 고치는게 맞다고 생각합니다.
    머지를 하는게 처음엔 힘들수 있지만 일정한 표준화가 되고 난 다음부터는 그렇게 힘들지 않습니다.
    일단 제 경험상으론 그렇네요.

    답글삭제
  2. 이럴때 필요한게 리팩토링 이지요...

    프로젝트 중간 팀원들과 리팩토링을 하여 정보를 공유하는게 좋을듯합니다..

    빈줄도 지워서는 안된다는 좀 심한듯..

    답글삭제