반응형
1. 연결속도
2. 평균 대기시간
3. 대기시간의 흔들림
4. 패킷 손실
이렇게 네가지 파라미터를 가진 TcpConnectionSimulator클래스가 있다고 했을때
예시.
pubilc class PerformanceTester{
pubilc static final TcpConnectionSimulator wifi = new TcpConnectionSimulator(
500, /* 연결속도 */
80, /* 평균 대기시간 */
200, /* 흔들림 */
1 /* 패킷 손실 */);
pubilc static final TcpConnectionSimulator t3_fiber =
new TcpConnectionSimulator(
45000, /* 연결속도 */
10, /* 평균 대기시간 */
0, /* 흔들림 */
0 /* 패킷 손실 */);
pubilc static final TcpConnectionSimulator cell = new TcpConnectionSimulator(
100, /* 연결속도 */
400, /* 평균 대기시간 */
250, /* 흔들림 */
5 /* 패킷 손실 */);
}
이 예제는 80줄 제한조건을 충족하기 위해 많은 줄 바꿈을 시젼하였다.
문제점
1. 줄 바꿈으로 인해 t3_fiber 코드가 주변 코드와 달라보이게 되어 불필요한 주목을 받게 되었음
2. "비슷한 코드는 비슷하게 보여야 한다."라는 원리에 위배되는 사례
1차 문제 해결.
pubilc class PerformanceTester {
pubilc static final TcpConnectionSimulator wifi =
new TcpConnectionSimulator(
500, /* 연결속도 */
80, /* 평균 대기시간 */
200, /* 흔들림 */
1 /* 패킷 손실 */);
pubilc static final TcpConnectionSimulator t3_fiber =
new TcpConnectionSimulator(
45000, /* 연결속도 */
10, /* 평균 대기시간 */
0, /* 흔들림 */
0 /* 패킷 손실 */);
pubilc static final TcpConnectionSimulator cell =
new TcpConnectionSimulator(
100, /* 연결속도 */
400, /* 평균 대기시간 */
250, /* 흔들림 */
5 /* 패킷 손실 */);
}
- 줄 바꿈을 도입하여 코드를 일관성 있게 만듦
- 일관성 있는 패턴을 가지므로 훑어보기 용이함
- 하지만 수직으로 너무 많은 빈칸을 사용하는 점이 마음에 걸림, 특히 동일한 주석을 세번 반복하고 있다는 점
최종 해결 버전 .
pubilc class PerformanceTester {
// TcpConnectionSimulator (처리량, 지연속도, 흔들림, 패킷_손실)
pubilc static final TcpConnectionSimulator wifi =
new TcpConnectionSimulator(500, 80, 200, 1);
pubilc static final TcpConnectionSimulator t3_fiber =
new TcpConnectionSimulator(45000, 10, 0, 0);
pubilc static final TcpConnectionSimulator cell =
new TcpConnectionSimulator(100, 400, 250, 5);
}
- 주석을 맨 위로 올리고 모든 파라미터를 한줄로 놓았다
- 주석이 바로 옆엔 없지만 '데이터'자체가 간결한 테이블 구조에서 설명되고 있다.
반응형
'프로그래밍 책 > 읽기 좋은 코드가 좋은 코드다' 카테고리의 다른 글
[읽코좋코] 주석 (0) | 2025.06.10 |
---|---|
[읽코좋코] 코드를 '문단'으로 쪼개라 (0) | 2025.06.10 |
[읽코좋코] 선언문을 블록으로 구성하라 (0) | 2025.06.10 |
[읽코좋코] 메소드를 활용하여 불규칙성을 정리하라 (0) | 2025.06.10 |
[읽좋코좋코] 1. 코드는 이해하기 쉬워야한다 (1) | 2025.05.21 |