-
일단 만들어라. 두 번 만들어라. 그러면 보일 것이다.Programmer/Programming 2017. 6. 29. 06:26
내가 실무에서 배운 최고의 코드 설계 방법은?
일단 만들어라. 두 번 만들어라. 그러면 보일 것이다.문제를 이해하는 가장 좋은 방법은 만들어보는 것이다.
생각만으로는 알 수 없다.
구현하면서 문제에 대한 이해가 높아진다.(관련 링크: 창의적인 일을 찾지 말고 창의적으로 일을 하라.)
어떻게 하면 효과적으로 문제를 탐색할 수 있을까?
첫번째 구현에서는 문제의 탐색에 초점을 두어야 한다.
머릿속에 떠오르는 이상적인 시나리오를 직선적으로 표현한다.
세세한 예외 처리나 아름다운 코딩 등에 시간을 빼앗기지 말자.그림에 비유하자면, 머릿속에 떠오른 이미지를 거침없이 스케치를 하는 것과 같다.
화폭에 그리면서 전반적인 이야기와 구도를 잡는 것이 가장 효과적이다.
이 단계에서는 눈가의 잔주름과 같은 세부적인 부분은 신경 쓰지 않는다.종종 문제 탐색이란 목적을 잊고 멋진 코드를 만드는데 집중하는 실수를 하곤 한다.
문제의 탐색이 늦어지면 그만큼 손해다.
프로젝트 중반에 드러나는 설계의 문제는 치명적이다.처음 구상하는 장면인데 큰 틀을 그리기도 전에 소품 하나하나를 세부적으로 완성하는 것으로 비유할 수 있다.
전체 장면의 절반을 완성한 이후에 드러나는 구성의 문제 역시 심각하다.이때 "문제만 탐색하고 버릴 코드"라는 생각이 도움이 된다.
우리는 버릴 것에는 공을 들이지 않는다.이전 개발에서 얻은 교훈을 다음번 구현에 적용한다.
이 과정을 문제에 대해서 충분한 파악이 될 때까지 반복한다.
보통 두세번이면 충분하다.
더 이상 반복해도 그다지 나아지지 않는다.
즉, 투자한 시간과 노력에 비해서 얻는 이익이 적다.탐색이 끝나면 공을 들여 코딩한다.
이후 생산되는 코드는 반드시 아름다워야 한다.'Programmer > Programming' 카테고리의 다른 글
기본 값(default value)을 언제 사용할까? (0) 2018.01.02 C++에서 언제 어떻게 struct를 사용하는가? (4) 2017.09.25 문제가 발생하면 근본 원인 찾아라. (1) 2017.03.06 엑세스 함수(getter/setter)를 올바로 사용하기 (1) 2017.02.13 public, private, const 키워드가 필요한 이유 (1) 2017.02.08 댓글