본문 바로가기
코딩 필독서/클린코드

클린코드11

by 티코딩 2023. 1. 29.

오류를 유발하는 행위도 언급했다. 그중 첫째가 null을 반환하는 습관이라고 한다. null을 반환하는 코드는 일거리를 늘릴뿐 아니라 호출자에게 문제를 떠넘긴다고 한다. 실제로 null 확인이 너무 많아서 문제가 생긴다고 한다. 메서드에서 null을 반환하고싶으면, 예외를 던지거나 특수사례 객체를 반환해야한다. null 반환뿐 아니라 null을 전달하지 말라고 한다. 인수로 null을 전달하는 코드를 피하라고 한다. 그러면 당연히 NullPointerException이 발생하고 새로운 예외 유형을 만들어 던지라고 한다. 하지만 이것도 좋은 대안은 아니다. assert문을 사용하는 방법도 있다고 한다.

public double project(Point p1, Point p2){
	assert p1 != null : "p1 should not be null";
	assert p2 != null : "p2 should not be null";
    return(p2.x - p1.x);
 }

 

위 코드처럼 assert로 정의해두면 애초에 null을 넘기지 못하도록 하면 실수를 저지를 확률도 낮아진다.

저자는 깨끗한 코드라면, 가독성이 좋아야하는것뿐 아니라 안전성도 갖춰야 한다고 한다.

다음장은 경계다. 오늘은 여기까지!

 

 

조금 덧붙히자면, 사실 클린코드는 나에게 너무 어려운책이다. 읽으면서 항상 10%만 이해한다. 나중에 실력이 쌓였을땐 제대로 읽을수 있을거란 희망이 있다.

'코딩 필독서 > 클린코드' 카테고리의 다른 글

클린코드 12  (0) 2023.02.01
클린코드10  (0) 2023.01.26
클린코드9  (0) 2023.01.26
클린코드8  (0) 2022.12.14
클린코드6  (0) 2022.12.05