우선 우테코 프리보드가 드디어 끝이 났다...
너무나도 많은 것을 배울 수 있었던 시간이면서 동시에 내가 아직 개발자로서 많이 부족하다는 것을 알수 있는 시간이었다.
우테코를 하면서 배운 것을 정리하고 추후 우테코 코딩테스트 전까지의 계획을 적어볼 예정이닷.
우테코는 README.md 파일 내에 기능 목록을 작성하고 코드를 구현 한다.
매우 미흡하지만 나는 아래와 같은 방식으로 README.md을 고쳐나갔다.
인스턴스 변수, 클래스 변수, 지역 변수
public class test { int iv; // 인스턴스 변수 static int cv; // 클래스 변수 void method() { int lv; // 지역 변수 } }
기능 단위의 구현은 너무 어려웠고 나는 흐름 단위의 구현을 했다.
예를 들면 Controller를 전체적인 흐름을 다 모아 놓고 view의 로직을 구현 -> model 로직 구현 이런 방식으로 구현했다.
구현하면서 배운 것들
- else 지양
- 접근 지정자의 중요성?(private로 구현하면서 test까지 가져가는 방법)
- Service와 Controller 구분
- Service는 Model의 조합으로 새로운 로직을 만드는 것이라고 생각하고, Controller는 Model과 View을 조합해 실행의 흐름을 이어가는 것이라고 생각한다.- 연관성이 있는 상수는 enum을 활용하자!
- 인스턴스 변수의 수를 줄이기 위해 노력하자!
- 구글 자바 코딩 컨벤션
- 한 라인의 100줄까지
- 명명 규칙
- 함수의 라인을 최대한 줄이자!(우테코 4주차에서는 10줄이었음)
공부하고 적용할 것들
- Service 도입
- 위에서 Service와 Controller를 구분했지만 결국 도입은 하지못했다. 더 공부해서 적용해보자- Exception의 분류
- 예외도 매우 다양하지만 나는IllegalArgumentException
밖에 처리하지 못했다. 명확하게 처리하도록 노력하자
IllegalArgumentException
: 적합하지 않거나(illegal) 적절하지 못한(inappropriate) 인자를 메소드에 넘겨주었을 때 발생IllegalStateException
: 갑자기 발행하면 안되는 메소드가 실행되었을 때 발생
필자는 Do it 알고리즘 코딩테스트
책을 완결하는 것이 12월 15일까지의 목표이다. 책에 30일 커리큘럼이 있는데 심화 알고리즘을 제외하고 커리큘럼을 따라가기로 했다!