본문 바로가기

Project

간단함이란..


 가끔 코드 분석하다 보면 엄청나게 복잡하고 정교한 코드를 볼 수가 있다.
처음에는 이런 코드를 보고 잘짰다는 생각이 들었지만 요즘들어서는 생각이 바뀌었다.

 왜냐하면 간단한 구조에 간단한 로직, 쉽게 읽히는 코드가 더욱더 어렵다는것을
느끼고 있기 때문이다.

 복잡한 구조에서는 복잡한 코드가 나올수밖에 없다.
 
구현이란 처음의 구조에 종속적이기 때문이다. 구현되가며 만들어진 코드는 이후의 코드에
제약이 되어버린다.


 오히려 간단한 구조와 간단한 로직을 통해 강력한 시스템을 만들수가 있다.
물론! 이 간단함과 복잡한의 기준은 사람마다 차이가 있기 때문에 정확히 무엇이 나쁘다고 말하기
어렵지만 무엇이 좋은지는 쉽게 말할수있다.

 JAVA의 lang,util클래스를 보면 어려운 코드는 없다. 게다가 필요이상으로 복잡함을 만들지 않는다.
단지 필요한 기능 즉 자신이 담당한 행위만을 구현하고 있다.

 XP진영에서 말하는 가능한의 단순한 구조는 필요이상으로 기능을 확장하지 않고 가장 이해하고
수정하기 쉬운 상태를 유지하려는 노력이란 맥락에서 이해할 수 있다.