자바 코딩을 하면서 느낀점(피드백, 습관)
자바 코드를 피드백 받은 내용들을 적어보았다. 혼자 코딩할때는 별로 개의치 않았거나 놓친 부분이 많이 있었다. 그래서 정리해보았다.
1. 불필요한 변수 선언
굳이 변수 선언→할당→반환 하지 않고 바로 반환하므로써 메서드를 간단하게 쓸 수 있다. 가령
int a = 0;
a = @@;
return a;
↓
return @@;
이런 경우이다.
2. 메서드를 알맞은 클래스에 분배하기 어렵다
메서드를 생성하면서 어떤 클래스에 넣어야 할지 애매한 경우가 많다. 메서드의 정확한 기능에 맞게 넣어야겠다.
그러다 문득 클래스의 책임과 역할의 차이가 뭔지 모르겠어서 한 글을 참조했다.
velog.io/@ljinsk3/%EC%97%AD%ED%95%A0-%EC%B1%85%EC%9E%84-%ED%98%91%EB%A0%A5
3. 매직넘버 사용
프로그램 명세에만 따라서 별 생각없이 4라는 정수를 그대로 적었다.
코드를 읽다가 갑자기 나온 엉뚱한 숫자에 당황하게 되니깐 정확히 이름붙여서 쓰자.
4. 접근자의 분별없는 사용
변수, 메서드를 대충 다 public으로 선언해놨었다. 기본적으로 private을 붙이는 습관.
5. 죄다인스턴스 증후군 vs 모두 static 증후군
의존성 주입의 개념에 너무 심취해버린 것일까, 모든 클래스를 인스턴스화하고 주입해버렸다.
수정하기 전의 클래스 의존관계를 그려보면 다음과 같다.
거의 모든 클래스가 GameManager에 의존한다. GamaManager의 인스턴스가 가진 Data를 쓰기 위해서이다.
MVC 아키텍처를 생각하고 만들었는데 어쩌다 보니 블랙보드에 더 가까워진 것 같다.
죄다 인스턴스 → 과도한 의존 → Util성 메서드는 static으로 처리하기
Util클래스 어디까지 써봤니? 일 편하게 하는 유틸성 클래스
게으른 개발자가 되어라라는 말이 있습니다. 이 말은 게으르게 일을 하라는 것이 아니라, 같은 일을 해도 ...
blog.naver.com
굳이 객체를 생성하지 않아도 되는 유틸성 객체들은 static으로 선언한다.
그렇다고 모두 static으로 선언하면 객체 지향을 해치게 되니 유의한다.
6. 변경하지 않을 변수에 final 붙이기
선언 이후 변경되지 않는 변수는 final로 선언하자.
+enum, dto의 사용