Saturday, April 21, 2012

실전에서의 Code reuse 방법

1. 일반적 용도를 가진 함수 단위로 모듈화
되도록 많은 부분을 General한 용도를 가진 단순 기능의 함수 단위로 모듈화한다.
Custom하게 만든 클래스를 다른 프로젝트에서 재사용 가능한 경우는 실전에서는 거의 없지만
함수는 잘만 하면 많은 부분을 재사용할 수 있다.

2. 클래스는 되도록 단일기능의 단순한 것으로 모듈화
클래스의 기능이 복합적이 되거나 커질수록 재사용 가능성은 점점 사라진다.
되도록 단순한 단일 기능을 가진 클래스들로 코드를 구성한다.

3. 코드 조각은 재사용하기 쉽게 만듬
함수/클래스 단위 재사용보다 Code snippet의 재사용이 더 적합한 경우가 종종 있다.
이 경우, 해당 Code snippet에서 parameter에 해당하는 변수를 assign 하는 작업을
Code snippet의 제일 앞부분에 몰아 둔다. 그러면 코드를 copy & paste 하여
다른 프로젝트에 갖다 쓸 때 앞부분의 변수값만 고쳐주면 된다.

(예) Pseudo code 로 써보면

(A)
loadCharacterData("characterData.txt");
loadCharacterSprite("characterData.png");

(B)
string filename = "characterData";
loadCharacterData(filename.append(".txt"));
loadCharacterSprite(filename.append(".png"));

이 code snippet을 다른 프로젝트에 가져다 쓸 경우,
(A)는 파일명을 다 고쳐야 하는 반면
(B)는 맨 위 한줄만 고치면 된다.
코드가 길어지면 (A) 같은 방식보다 (B) 같은 방식이 좋다는 것이다.

되도록 code snippet 대신 함수나 클래스로 만들고, code snippet 을 사용할 경우에는 동작하는 샘플 코드를 남겨둔다.

No comments:

Post a Comment