블로그 이미지
kalstein

여러가지 프로그래밍 관련이나...신변잡기적인 글들을 남기는 블로그입니다. 지식은 나누는만큼 강력해집니다 ^^

Rss feed Tistory
잡동사니 2008. 7. 1. 16:51

단순함의 미학.

이런 말이 있다.

Simple is beautiful.

충분히 동의하는바이다... 가만보면, 좀 더 생각하고 고려해서 한방향으로 쉽게 갈 수 있는길을... 대충 생각하고 이렇게저렇게 하다보니 '어? 안되네?' 하고 다시 옆길로 샛다가 다시 돌아오는..우회도로 코드를 작성한다. 결과는? 원래 생각한 대로의 방식이 아니므로 논리적이 구멍이 생기고 그로 인해 버그가 발생한다...

그래서 하나의 함수 및 클래스는 하나의 일만 담당하는것이 좋다.

그러나 만들다보면....특정 클래스(혹은 함수)에서 A, B 작업이 있는데 거의 대부분의 작업들이 A -> B 순서대로 진행되어진다. 그럴경우 많은 개발자들이 사용자 편의를 위한답시고 저 2가지의 함수를 아예 합쳐버리거나(...) 혹은 클래스 public 함수로 하나의 함수를 더 만든다. 그러지 말자는것.

차라리 따로 helper 함수를 하나 만드는것이 훨씬 좋다. 지금 A->B 상태라지만 나중에 C가 추가되어서 A->B->C가 될수도 있잖아? 어떻게 바뀔지는 아무도 모르는일. 그렇다면, 클래스 자체에서는 깔끔하게 하나의 작업만 하는 함수들을 남겨두고, 일괄처리같은거를 helper 함수로 해놓았으니 그것만 수정한다면, 기존 소스코드를 고치는 일도 적어지고, 보다 flexible 하게 대처할 수 있는것이지.

C로 생각한다면, struct A, B 가 있다고 치자. 근데 둘간에는 공통분모가 있다고 한다면 그것을 따로 빼서 A, B, C로 만들고, C를 처리하는 함수를 fooC()로 하고나면, fooA() 에서는 A에 해당되는부분 처리 후 fooC() 를 호출하고, fooB()에서는 B에 해당되는부분 처리 후 fooC()로 처리하는것.

구조체 개수가 2개에서 3개로 늘어났으니 더 관리가 힘들어졌다? 전혀 그렇지않다. 오히려 기존의 fooA,fooB 함수에서 처리하던 공통적인 부분을 fooC()로 분리해냈으니 코드 사이즈가 줄었고, 공통적인 부분인 C 부분에 대한 코드가 duplicate 되어있던것을 삭제했으니 오히려 개선효과가 있는것이다.

결론은? 기능추가 시에 급하다고 무턱대고 추가말고, 좀 더 생각해보면 간단한 방법은 존재하기 마련이라는것.




ps : 그러나...simple is best 는 아니다. 분명히 복잡하게 풀어야하는 것도 존재한다. 그러나, 그 복잡한 문제마저도 보다 간단하고 명료하게 문제를 풀 수 있는것이야 말로, 더 좋은 개발자가 되는 방향이 아닌가 싶다.
,
잡동사니 2008. 6. 4. 20:42

사용툴의 자유를 보장하라~ 보장하라~

이른바 까라면 까. 물론...나한테는 해당 안된다. 지금 시대가 어떤시댄데...
아. 2MB덕분에 80년대로 돌아갔으니...군대문화가 만연한것도 당연한가? -_-;;

뭐 여튼...회사에서 내 프로젝트는 현재 "Trac" 으로 운영되고 있다. Subversion(이하 SVN)을 이용해서
이리저리 프로젝트 관리가 되는 시스템. 그냥 내혼자서...없으면 무쟈게 불편할것임이 뻔하기에
도입해서 사용중인데...위에 부사장'님'께서 우리파트는 소스관리도 안하느냐 하고 한소리하자...
소파트장 수석'님'께서 땜빵으로 내가 사용하고있는걸 데모한것 같더라... 그래서 일단 결론은
2개월안에 프로젝트를 모두 올리라고 지시 및 필요한 상용툴이 있다면 지원요청해라.

뭐 여기까진 나름 굳. 매우 바람직한 모습 아닌가? 그러나....두둥.

오늘...SCM을 VisualSourceSafe(이하 VSS)로 구성하랜다. -_-;;; 이뭥뮈;;;;;;;;;;;;;;
VSS는 MS툴로써...MS 개발툴들과 매우 밀접하게 연동되는 시스템이다. 그러나..단점이 좀 있어서
MS툴을 쓰지않는 경우에라면 잘 쓰이지않는다. (MS툴을 쓰더라도 잘 안쓰는경우가 많다. 뭐...
단점이 약간있긴하지만 그것보다는 SVN이 더 좋은것)
그런데 그걸 쓰라고? 아니왜? ㅡ.ㅡ;;; MS에 커미션이라도??

이유는...부사장이 이끌었던 예전팀이 VSS를 썼기때문. 다시한번...이뭥뮈;;;
이건...내가 울트라에디트 쓰는데 상부에서 자기가 예전에 노트패드써보니까 좋더라~ 하면서 그거 쓰라는격이다.
거참, 사용툴의 자유도 보장못하나;;;;

내가 부사장'님'이랑 "싸우자!!" 할순 없으니...(뭐 못할건 없지만 -_-a;; 그래도 부사장이랑 싸운 최초의 사원이라는 타이틀은...그닥;;;) 참 답답하긴하다. 에혀...이 무식한 바닥을 떠야하려나?
1인 시위라도 할까? 타이틀은...

'사용툴의 자유를 보장하라~ 보장하라~~'
,
잡동사니 2008. 6. 3. 14:55

으흐~ 나도 이제 배후세력!?

모 클럽의...시위 서포트 및 광고 모금에 동참했다.

큰 돈은 아녔지만...뭐 30만원이 한달 생활비인 나로써는 나름 큰 금액을...ㅎㅎ 여튼 중요한건 진심 아닌가!! 두둥!

주말에 방구석에서 시위 동영상만 보느라 계속 미안한 맘이었는데...이제 조금은 누그러진 느낌 ^^;

,
TOTAL TODAY