고대 그리스의 철학자인 아리스토텔레스의 "시학" 에 보면
창작의 본질은 모방(模倣)에 있다 는 내용이 있습니다.
모방이란 유명한 예술가의 작품을 똑같이 그려보면서
그 예술가의 기법을 배우고
나아가 자신만의 창작을 할 수 있도록 연습하는 것을 말합니다.
프로그래밍을 배우는 과정에서도 모방의 방식을 많이 추천합니다.
기존에 선배 개발자들이 만들어 놓은 소스를 보면서
코드를 분석하여 자신의 실력을 키우고 나중에 응용 할 수 있도록 하는겁니다.
하지만 요즈음 코드를 분석하는 후배 개발자들을 보면
눈으로만 분석 하는 경우를 많이 봅니다.
진정한 모방을 위해서는 연습이라는 필연적인 과정이 필요한데
단지 모방을 위한 모방을 하고 있는 경우가 많이 보입니다.
CTRL+C , CTRL+V 는 빠르고 간편한 방법이지만
진정한 자기 실력으로 만들기 위해서는
보고 있는 코드의 한줄 한줄의 의미를 이해해야 합니다.
처음 그 코드를 만든 사람은 분명 한줄 한줄에 의미를 두고
라인의 순서(시퀀스) , 조건문, 반복문 등 모두 다 의미를 두고 만든 것일겁니다.
이 모든 것을 처음 만든 사람의 입장에서 이해하지 못한다면
진정한 모방이라고 할 수 없습니다.
다만 .. 아무리 봐도 모든 라인의 의미가 이해가 안되는 소스도 있습니다.
그것은 자신의 실력에 비해 그 소스의 난이도가 너무 어렵거나
처음 만든 사람의 능력에 문제가 있는겁니다. 즉 소스의 구조에 문제가 있을 가능성이 있습니다.
원저작자를 만날 수 있다면 왜 그렇게 코딩했는지 꼭 물어봐야 합니다.
제대로 설명을 못하는 개발자라면..
그 사람에게서는 더 배울것이 없다고 보면 됩니다.
탁구 경기를 많이 본다고 탁구 선수가 될 수 있는것은 아닙니다.
눈으로만 봐서는 실제 스핀이 어떻게 들어가고 힘의 강약을 어떻게 조절하는 알 수가 없기 때문입니다.
직접 스핀을 느껴보고, 공의 스피드를 체험하면서 배워야 하는겁니다.
코딩도 자기가 만들어본 코드의 양 만큼 자신의 실력이 늘어갑니다.
평상시에 직접 코딩한 소스를 컴파일 해보고 실행해서 디버깅을 하면서 갈고 닦아야
실제 업무를 진행할때 응용 할 수 있습니다.
눈으로만 대충 보고 복사해서 사용하려는 코드는 벌레들의 훌륭한 안식처가 될 뿐입니다.
코드에 종속되서 허우적대는 개발자가 되지 말고 코드의 지배자가 되기 바랍니다.
'개발이야기' 카테고리의 다른 글
개발자에 관한 이야기 (0) | 2009.12.18 |
---|---|
개밥 먹기(dog food)를 즐깁시다~ (2) | 2009.12.12 |
SW개발에서 'Peer Review'의 중요성 (0) | 2009.12.02 |
사장들의 유형 (1) | 2009.12.01 |
C++Builder2010 C++ Class Explorer (0) | 2009.11.25 |