'기본실력'에 해당되는 글 1건

  1. 2009.08.01 개발자가 Copy&Paste를 하는 이유에 대해서
개발단상2009. 8. 1. 14:16

제가 최근 일독한 소프트웨어 공학에 대한 좋은 블로그에서 (http://allofsoftware.net)

Copy & Paste의 종말 이라는 글을 읽고, 여러가지 생각들이 떠올랐습니다.

제가 남긴 댓글은 아래와 같습니다.

http://allofsoftware.net/77#comment610946

제가 생각하는 copy&paste의 문제는 이해부족에서 온다고 생각합니다.

체계적으로, 기존에 다른 사람이 작성한 코드를 분석하지 못했기때문에,
(이유는 여러가지가 있겠죠? 실력부족, 문서화안됨, 스파게티코드, 시간부족 등)
기존에 잘 돌던코드는 그대로 두고 플러스 알파만 내가 했다... 뭐 이런거 아닐까요?

또 비슷한 측면에서,
자신이 작업하던 코드의 경우에도, 설계가 세밀하게 진행되지 않은 상태에서,
일단 만들어보면서 얼기설기 작업해나가다 보면,
적절한 타이밍에 리팩토링 시기를 놓쳐버린 상태가 되는 경우가 있습니다.

시간비용 + 귀차니즘 때문에, Copy&Paste로 떡칠이 되기 시작하는 거죠.


마지막으로는 코딩스타일에서 올 수 있겠네요.
현재 제가 주로 작업하는 분야가 C언어를 사용한 임베디드 분야 (wipi등)쪽 인데,
판단문과 분기문이 수도 없이 떡칠되기 시작하면서, 소스가 주렁주렁 ㅎㅎㅎ

state머신이나 적절한(펑션포인터등 사용) 분기체계가 아닌,
switch-case, if-else 등으로 관성이 붙어버리는 거죠.

이상태에서 상용으로 소스는 릴리즈나가고 -_-;;;;;
대형 리팩토링 했다가는(이것도 안습) 되던 소스도 망가지고,
고객사에서는 최대한 손대지 말고 요거 하나만 고쳐달라고 하죠.

저희는 견디다 못해서....
고객사에서 version 2 만들자고 할때, 그쪽 목적은 기능개선, UI개편이었는데,
저희내부에서 아키텍처 부터 다시 잡아서 첨부터 다시 만들었습니다.

후우... 그나마 이제는 좀 살만해졌네요.

며칠전부터, 이 블로그를 처음부터 정주행하고 있는데,
오늘 정주행 완료하고 나니까, 현실적으로 와 닿는 얘기들이 왜이리 많은지요 ㅠㅠ

계속 분발해야겠습니다.

현실적 고민이 뭍어나오는 좋은 글들 감사합니다.

p.s. 3일에 걸쳐 블로그글을 다 읽고 났더니.. 진작에 신경쓸걸 하는 울컥한 마음에, 댓글이 횡설수설 합니다. 양해부탁드립니다.

결국 이러한 copy&paste 하나만 보더라도,
개발팀과 개발자의 현재 상태가 바로 드러나게 되는군요.

이 글을 시작 삼아서,
열심히 고민도 하고, 흔적도 남기도록 하겠습니다.

Posted by 먹고사니