ORM를 만나건 Ruby on Rails를 공부할때였습니다.
DB와 동일한 class를 만들고 서로간에 관계(1:1, 1;N, N;N)를 설정한다.
그리고 간단하게 CRUD를 해결한다는 이야기 였습니다.
그때는 '제법 괜찮다'라는 생각으로 공부를 했었는데..
막상 프로그램을 유지보수 하기 위하여 만난 ORM은 끔찍했습니다. ^^

요즘 Spring, JPA, Hibernate에 관련된 이야기를 여기 저기서 많이 보게 됩니다.
이번에 유지보수/추가개발을 담당하게된 소스도 저 녀석들로 만들어져 있습니다.
차리리 새로하는 개발이면 익숙해질 시간이라도 생길텐데.. 유지보수/추가개발을 만나게되면..
시간도 부족하게 됩니다. 당장.. 몇일안에 만들어야 하는데.. 건네받는 소스들은.. 저 멀리 안드로메다에 있습니다.

상속, 인터페이스를 포함한 class들의 관계, Spring, JPA, Hibernate ..
아주 간단한 하나의 기능을 만들기 위해.. 퇴근시간이 또 미루어 집니다. ^^

우리는 어려운 길을 택했다. 그랬기 때문에 나중에 쉬어졌다. 라는 어느분의 말과..
익숙한 것만 고집하는 프로그래머는 비난받아 마땅하다라고 이야기하는 분들에 따르면..
전.. '악의 축'이지만.. 그럼에도 저의 생각은 '음.. 꼭 저렇게 개발해야 하나...?' 입니다.

어떤 분들은 수많은 프레임워크와 디자인 패턴들이 '개발속도를 빠르게 하고, 유지보스를 쉽게 만든는 장점이 있다'고 이야기합니다. 하지만 직접 해보시면.. 절대 쉽지 않습니다. 절대로..

상속, 인터페이스를 포함한 class들의 관계, Spring, JPA, Hibernate ..
Java의 웹으로의 여행은 점점 먼 곳으로 가고 있는 것 같습니다.

가장 아름다운 소스는 개발경력 1년차들도 이해하고 유지보수 할 수있을 정도여야 한다고 생각합니다.
소스의 코드는 '컴퓨터가 좋아하는 형태'로 만들어지는 것이 아니라 '사람이 이해하기 쉽도록'만들어 져야한다고 생각합니다. 가장 단순한 형태로, 누구나 쉽게 이해할 수 있도록...

KISS - Keep It Simple, Stupid


Posted by 달빛변신