목차
Previous
1. 보호 구문
제안
: 분기문 indent 축소
// Before Code 1
if (조건) {
.. logic ..
}
// Before Code 2
if (조건) {
if (다른 조건) {
.. logic ..
}
}
// After Code
if (조건) return
if (다른 조건) return
.. logic ..
Java
복사
개선점
•
코드의 가독성이 높아진다.
◦
로직의 세부사항을 보기 전에 미리 알아두셔야 할 전제 조건들에 대해 알려드립니다. 라고 안내해주는 것 같다.
•
전제조건이 명시적으로 드러날 때 분석하기가 쉬워진다.
주의점
•
남용할 경우 보호 구문이 너무 많아지면 오히려 가독성이 떨어질 수 있다.
2. 안 쓰는 코드
제안
•
사용하지 않는 코드는 지워라
•
한 번에 너무 많은 코드를 지우기보단 작은 범위에서 지우고 배포하고 확인하고를 반복하라.
•
그냥 줄 수를 줄이는 것 뿐 아니라 조건 내용, 루틴, 파일, 디렉토리를 제거하는 방식일수도 있다.
개선점
•
소스파일의 전체 길이가 줄어 들면 가독성이 높아지고, 사용되지 않는 코드에 신경쓰지 않아도 된다.
복구 방법
•
형상 관리 도구를 통해 복구할 수 있다.
3. 대칭으로 맞추기
제안
•
프로젝트에서 코드 작성 컨벤션의 일관성을 지키자.
개선점
•
같은 의미의 로직이 하나 이상의 패턴으로 섞여 작성된다면 익숙해지기 힘들다.
•
기존에 읽은 패턴과 다를 경우 다른 동작으로 착각하기 쉽다.
•
패턴을 일치시켜 코드를 읽기 쉽게 하면 핵심 로직에 더 빠르게 접근할 수 있다.
같은 기능 여러 스타일의 코드
// lazy initialization pattern 1
public Foo() {
if(foo != null) {
return foo;
}
foo = ...
return foo;
}
// lazy initialization pattern 2
public Foo() {
if (foo == null) {
foo = ...
}
return foo;
}
// lazy initialization pattern 3
public Foo() {
return foo != null ? foo : foo = ...
}
Java
복사
13. 하나의 더미
•
파편화된 pure function들을 다시 하나로 모아 함수의 명확성을 높히고, 그 다음 다시 정리한다.
◦
길고 반복되는 인자 목록
◦
반복되는 코드, 그 중에서 반복되는 조건문
◦
도우미에 대한 부적절한 이름