본문 바로가기
Today I learned

2020년 07월 16일 목요일

by soheemon 2020. 7. 16.

일기를 쓴지 3년이 다 되어간다.

과거에는 일기장에 힘들었던일 슬펐던일, 잊지못할일등 나의 생활 위주로 기록했었다면

요즘 개발을 하며 가졌던 고민이나, 새로 깨달은것, 뿌듯한일들이 일기의 반을 차지하기 시작했다.

그만큼 개발이 내 삶에 큰 부분을 차지했다는 의미겠지.

오늘도 개발하며 느꼈던것들을 일기장에 적으며 문득, 블로그에 작성해서 다른사람들도 읽을수 있는 기록으로 남기면 어떨까 하는 생각이 들어 카테고리도 만들었다.

첫 개발일기를 작성해 본다.

 


기획서를 받으면 코드분석을 하기 전에 테스트케이스를 먼저 작성하자

기획서만 봐서는 무엇을 어떻게 개발해야하는지 이해하기가 어렵다. 기획서를 이해할 수 있는 좋은 방법이 없을까, 고민하다가 테스트케이스를 먼저 작성해놓기로 했다.

기획서만 봐서는 내가 할수있을까.. 겁도났었는데 신기하게도  테스트케이스로 풀어내니까 의외로 어렵지 않은 작업이였다. 자연스럽게 기획서에 빠진 요건들도 찾을 수 있었고, 무엇보다 개발에 방향을 잡을수 있어서 마음이 조금 편안해졌다.

기획서를 받으면 코드를 먼저 보기보다 테스트케이스를 우선 작성하는 버릇을 들어야 겠다.

사용하지 않으면 잊어버리고...

그동안 스크립트 작업만 주로 해오고, 자바로는 리퀘스트 객체에서 데이터를 꺼내오거나 하는 간단한 서블릿코드만 작성해오다가 오랜만에 작은 자바모듈을 짤일이 생겼다.

배울때만해도 완벽하게 이해했다고 생각했었는데, 간단한 범위지정자에도 구글링을 통해 찾아봐야 했다. 역시 잘 사용하지 않으면 머리속에서 금방 빠져나가는구나.. 잊어버리지 않도록 주기적으로 간단한 코드를 리딩하는 습관을 들여야 겠다.

 

우아한 코드

위에서 말했던 간단한 코드는 랜덤비밀번호를 생성하는 간단한 클래스였다. 스택오버플로에서 예제를 찾았는데 디자인패턴이 우아하다고 느꼈다. 비밀번호를 생성하는 클래스와, 비밀번호생성 규칙을 지정하는 빌더 클래스로 나뉘어져 있었는데, 비밀번호를 생성하는 클래스의 생성자메서드는 private를 붙여서 외부에서 호출을 막고, 빌더클래스 내부에서 비밀번호생성클래스를 인스턴스화 하고있었는데, 그 빌더클래스 내부의 메서드를 이용해서 비밀번호 생성규칙을 설정하고 있었다. 마지막으로 빌더클래스내의 비밀번호생성메서드를 호출하면 비밀번호를 생성한다. 

빌더클래스를 사용해봤지만, 그 라이브러리의 구조까지는 뜯어보지 않았기에, 나에게는 오랜만에 만나는 아름다운 코드라고 느껴졌다. 공부할것이 하나 더 생겼다. JAVA 디자인 패턴

댓글