게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
코드를 정리해야 하는 이유
게시물ID : programmer_5110짧은주소 복사하기
작성자 : 달빛연구자
추천 : 9
조회수 : 1113회
댓글수 : 5개
등록시간 : 2014/08/23 01:30:00
안녕하세요.
달빛연구자 입니다.
 
이번 글에서는 왜 프로그래머는 코드를 깔끔하게 유지해야 하는가를 주제로 이야기 해 보겠습니다.
 
1. 동작하는 소스코드는 작업의 첫번째 단계에 지나지 않는다.
 많은 분들이 작업을 할 때 일단 요청받은 기능이 동작을 하면, 그 상태로 그냥 커밋을 해 버립니다. 그런데.. 이러면 일을 절반밖에 하지 않은 겁니다.
 기능을 구현하면, 동작하는 소스코드를 만들고 그것을 한번 리팩토링 해서, 기존 코드의 구조와 잘 어울리게 하거나 혹은 현재 기능을 수용할 수 있는 형태로 발전시키는 것 까지(기능개발 + 구조개선)가 프로그래머의 일 입니다. 시간이 부족하다고 해서 빼먹어도 되는 작업이 절대 아니며 빼먹으면, 정말 가까운 미래에 크나큰 대가를 치르게 됩니다.
 
2. 프로그램은 규모가 커질 수록 기능 구현이 쉬워져야 한다.
 제대로 디자인한 프로그램은 규모가 커질수록 기능의 추가가 쉬워집니다. 처음에는 아무것도 없는 맨땅이기 때문에 개발자 본인이 필요한 모듈들을 작성하면서 작업을 해야 하지만, 구조가 잡히고 모듈들이 쌓일수록 기존 코드의 도움을 받아 작업을 하는 것이기 때문에 생산성은 오히려 프로그램이 커질수록 개발의 후반일 수록 높아지게 됩니다.
 만약 뒤로 갈 수록 사이드이펙트가 많이 발생하고, 기능 추가가 어려워진다면 설계가 잘못되었거나 구조개선을 게을리 해서 프로그램의 구조가 망가졌다는 이야기입니다. 어느쪽이든 SW에 있어서 중대한 결함 입니다. 말 그대로 유지보수가 매우 어렵거나 불가능한 코드라는 의미이기 때문이죠.
 
3. 혼자하는 일이 아니다.
 개발을 혼자서 진행하는 일은 그리 흔하지 않습니다. 대부분은 하나의 소스코드에 수십명의 개발자가 붙어서 일을 합니다.
 당연히 제가 코드를 짜서 올리면, 그 소스를 받아서 작업하는 수십명의 개발자들이 모두 영향을 받습니다. 어쩌면 그들 모두가 내가 올린 코드를 읽어야만 하는 상황이 올 수도 있습니다. 혼자서 하는 일이 아니기 때문에 나 한사람이 작업을 엉망으로 하면, 당연히 다른 개발자들의 생산성을 깍아내리는 결과가 나옵니다.
나 한사람이 작업을 제대로 해서 하루를 더 쓴다면, 리소스는 하루가 로스되는 거지만 내가 작업을 엉망으로 해서 30명의 개발자들이 하루씩을 (코드를 이해하거나 버그를 잡기위해..) 낭비하게 된다면 리소스는 한달이 로스되는 거에요... 공동작업을 할 때는 나의 몫을 하는 것도 중요하지만, 다른 사람이 개발할 수 있는 환경을 배려하는 것이 더 중요할 수 있어요.
 
음.. 사실 글을 조금 더 적고 싶었는데요.. 시간이 늦어 일단 세가지만 적으려고 합니다. ㅠㅠ
 제가 하고 싶은 이야기는요.. 프로그래밍에서 지속적인 구조개선은 당연히 해야 하는 일이고, 이것을 하는 목적은 개발자들의 개발 일정을 단축하기 위함이라는 거예요. 시간이 없어서 구조개선을 못한다는 것은 변명이고, 악순환의 시작이라는 거예요. 이게 월화수목금금금의 가장 큰 원인 중 하나입니다. 초반에 구조개선을 안하면 그만큼 시간을 벌지만, 코드가 조금만 복잡해지면, 잘못된 구조 때문에 코드가 꼬여버려서 반드시 그 이상의 시간을 투자해야만 해요. 그러면 또 시간이 부족해지니 구조개선을 빼 먹는 거고요. 그러면 구조가 더 망가지니 한군데 손보면 다른데가 터지고 다른데 막으면 또 다른데 터지는 무한증식 버그가 나오는 거에요.. 본인만 힘들어지는게 아니라 동료들 까지 강제로 헬게이트로 질질 끌고가는 행위입니다.
 
그러니 코드를 작성하고나서는 반드시 구조개선작업을 같이 해 줍시다.
 
한줄요약 : 코드는 돌아간다고 땡이 아닙니다. -_- 당연한 이야기잖아요?
 
 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호