'블로그 시즌2'에 해당되는 글 2건

  1. 2007/07/07 비즈니스 로직과 의존성을 줄이는 사례 (13)
  2. 2007/06/07 블로그 시즌2 에피소드2 베타테스터 모집 (9)
최근 블로그에 비즈니스 로직의 복잡성와 의존성에 대한 이야기를 많이 적었는데, 마침 업무를 진행중에 재미있는 일이 발생을 했다.

우리 팀에 초보 개발자인 막내는 경력이나 경험에 비해서 센스가 꽤 있는 편이다.
그 초보 개발자가 어느날부터 jakarta-POI를 열심히 API를 익히면서 코딩을 하고 있었다. 간단한 API이기때문에 빠른 시간에 습득해서 잘 사용하고 있었다.

어제 코드리뷰 시간에 그 내용에 대해서 언급을 하는 자리가 있었는데, 아주 흥미로운 일이 벌어졌다..^^

초보 개발자가 구현해야 할 업무는 테스트로 진행되고 있는 데이터를 실디비로 마이그레이션을 하는 업무였다. 한번 쓰고 내다버릴 배치성 업무였다.

2가지의 문제가 거론이 되었는데, 이것이 흥미롭다.

1. 테스트 DB에서 데이터를 가져와서 자바빈에 바인딩을 하고 그것을 다시 실디비에 데이터를 넣고 있었다. 중간에 DTO를 십분 활용을 하는 것이다.

어쨌든 우리가 가장 일반적으로 사용하는 방법이다.
하지만,
한번 밖에 호출되지 않은 심플한 로직과 업무처리에서 굳이 빈에 담아서 어렵게 할 필요없이 컨넥션을 2개 열어서 ResultSet에서 바로 loop를 돌면서 실디비로 데이터를 이관을 할수 있을 것이다.

EP
님이 조언을 해주셨다. 약간의 생각만 바꾸어도 코드량이 줄어들뿐만 아니라 의미없는 코드로 노가다를 하는 작업이 대량 줄어들었다.

2. 초보개발자는 기획자가 엑셀로 데이터를 줄 것으로 예상을 했다. 엑셀에서 키값 데이터를 읽어서 그것을 처리하는 방식으로 개발을 한 것이다.

기획자뿐만 아니라 우리 나라 직장인은 엑셀을 선호하는 경향이 있다. 아마 구현을 하기전에 그렇게 준다고 커뮤니케이션을 했을 수도 있다. 리뷰를 시작하면서 테스트 엑셀 파일을 열었는데, 컬럼 2개에 데이터가 있었다. 정말 심플한 데이터였다. 이것을 CSV로 변환을 해서 단순하게 text파일을 읽어서 구분자(,)로 구분해서 데이터를 읽었더라면, POI 라이브러리 의존성도 없이 구현이 가능했을 것이다. 같이 리뷰하던 고수의(?) 개발자분들은 이구동성으로 얘기를 했다. 물론 자주 사용되는 어플리케이션이라 CSV로 바꾸는 것 조차 귀찮다고 한다면, POI를 이용한 어플리케이션이 더 빛을 발할수도 있었겠지만, 이번 건은 CSV로 넣는 것이 더 좋은 선택으로 보인다.

실제로 전에 있던 회사에서 업무를 진행할 때 CSV로 넣었던 import데이터를 엑셀도 추가로 가능하게 구현한 적도 있다. 그 때는 엑셀으로 임포트가 명확한 요구사항이고, 자주 사용하던 기능이었다.



우리는 개발을 진행을 하다보면 과다 설계과 디자인의 홍수 속에서 살게 된다.
과연 이렇게까지 해야만 할까? 이게 정말 옳은 일인까? 수많은 고민을 하게 된다.

dependency가 많고 코드량이 많으면 버그가 증가할 수 밖에 없다. 최소주의의 코딩이 절실하게 필요하다. 최소주의 코딩은 당연한 이야기지만, testability도 확연히 좋아진다.

문제의 해결점은 최대한 비즈니스 로직을 심플하게 정리를 하고(개발에 쓰는 머리에 5%만 사용을 해도 단순하게 바꿀수 있다) 여러가지 문제 해결 방법이 있다면, 가능한 의존성이 적은 구현, 테스트를 하기 쉬운 구현으로 생각을 해보자


당연한 이야기지만, 의존성이 적을 수록 테스트하기는 쉬워 질 것이다.
갑자기 테스트가 웬말이라는 사람이 있을까봐 한줄 더 적는다..^^



Posted by ologist
여기에 주로 오시는 분들은 별로 관심이 없는 얘기일수 있지만...^^
내가 지금하고 있는 프로젝트 이야기를 좀 해보자.

블로그 시즌2 에피소드2 베타테스터 모집이 걸렸다.
http://nboard.naver.com/nboard/read.php?board_id=paper_notice&nid=951

2007년의 절반을 같이 보내는 프로젝트이기도 하고, 지금도 진행중이지만 슬슬 공개될 생각을 하니 반응이 궁금하기도 하다.

User inserted image

오래동안 너무 많은 사람들이 고생을 한 프로젝트고 현재도 좀 더 좋은 툴을 위해서 노력을 하고 있다. 한가지 확실한 것은 블로거들이 포스트를 쉽고, 편하게 올릴 수 있는데 관점을 두었다는 것이다.

지금도 여러가지 개발이 진행중이긴 하지만, 이번 프로젝트의 오픈은 더 좋은 블로그를 만들기 위한 기초를 다졌다는 생각을 한다.

앞으로도 남은 에피소드를 통해서 점점 더 지능적이고, 더 깔끔해진 블로그를 기대해보자~
 
Posted by ologist
이전버튼 1 이전버튼

블로그 이미지
ologist

공지사항

Yesterday171
Today56
Total34,799

달력

 « |  » 2012.02
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

최근에 받은 트랙백

글 보관함