Search
moon
sun

01. 코드 정리법

목차

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들을 다시 하나로 모아 함수의 명확성을 높히고, 그 다음 다시 정리한다.
◦
길고 반복되는 인자 목록
◦
반복되는 코드, 그 중에서 반복되는 조건문
◦
도우미에 대한 부적절한 이름

Kakao Channel