[클린코드] 5장 - 형식 맞추기

Jake·2022년 3월 9일
0

책 읽기

목록 보기
4/5

형식 맞추기 파트는 읽으면서 "아 그럼, 이건 당연히 이래야지" 하면서 읽었던 부분이 대부분었습니다.
때문에 이해하기 힘들었던 파트나, 이건 왜 그래야 하는거지? 했던 부분도 굉장히 적은 편이어서 술술 읽었던 파트입니다.
책 전체가 이렇게 쉬웠으면 얼마나 좋았을까

1. 수직 거리 - protected 변수는 피하라?


서로 밀접한 개념은 세로로 가까이 둬야 한다.
...(중략)
물론 두 개념이 서로 다른 파일에 속한다면 규칙이 통하지 않는다. 하지만 타당한 근거가 없다면 서로 밀접한 개념은 한 파일에 속해야 마땅하다. 이게 바로 protected 변수를 피해야 하는 이유 중 하나다.

  • 서로 밀접한 개념은 세로로 가까이 둬야 한다는 말에 동의하지 않을 개발자는 없을 것 같습니다. 그런데 갑자기 왠 protected?
    • 참고한 곳
    • 자바에는 크게 4가지의 접근 제어자가 있습니다. 범위로 보면 private < default < protected < public
    • protected는 상속 클래스에 한해서 다른 패키지에서도 사용 가능합니다. 하지만 "타당한 근거가 없다면 서로 밀접한 개념은 한 파일에 속해야 마땅하다"라는 맥락에서 보면, 다른 패키지에서 변수를 사용하는 것은 바람직하지 못한 일입니다.

2. 들여쓰기 무시하기


때로는 간단 if문, 짧은 while 문, 짧은 함수에서 들여쓰기 규칙을 무시하고픈 유혹이 생긴다. 이런 유혹에 빠질 때마다 나는 항상 원점으로 돌아가 들여쓰기를 넣는다.

//유혹되기 쉽지만, 하지 말아야 할 코드들
public CommentWidget(ParentWidget parent, String text) {super(parent, text);}

public String render() throws Exception {return "";}

while(dis.read(buf, 0, readBufferSize) != -1);


//위 코드들은 아래와 같이 쓰는 것이 바람직하다 
public CommentWidget(ParentWidget parent, String text) {
	super(parent, text);
}

public String render() throws Exception {
	return "";
}

while(dis.read(buf, 0, readBufferSize) != -1)
; // 저자의 말에 따르면, 세미콜론을 새 행에다 제대로 들여써서 넣어주어 눈에 띄게 해야 골탕먹는 사태를 방지할 수 있다고 한다.
profile
Java/Spring Back-End Developer

0개의 댓글