본문 바로가기

전체 글

(98)
[Clean Code | 10장 클래스 ] Day15,16 기억하고 싶은 부분 클래스는 적어야 한다 단일 책임 원칙 클래스나 모듈을 변경할 이유가 하나뿐이어야 한다 변경할 이유가 하나여야 한다 클래스는 인스턴스 변수 수가 작아야 한다 일반적으로 메서드가 변수를 더 많이 사용할수록 메서드와 클래스는 응집도가 높다. 모든 인스턴스 변수를 메서드마다 사용하는 클래스는 응집도가 가장 높다 소감 객체에 대해 이야기할때 응집도와 결합도에 대한 말이 나온다 응집도는 높아야 하고 결합도는 낮아야 한다고 하는데 둘이 비슷하게 느껴져서 둘의 차이점이 무엇인가 생각 들곤 했었다. 책에서 응집도에 대해서 메서드에서 인스턴스 변수를 쓸수록 응집도가 높다는 설명에서 좀 더 감을 잡을 수 있었다. 필요한 건 있어야 하니까 필요한 건 멤버변수라 보면 메서드 입장에서 변수를 파라미터나 전역변..
[Clean Code | 9장 단위 테스트 ] Day14 기억하고 싶은 부분 TDD 세 가지 법칙 실패하는 단위테스트 작성할 때까지 실제 코드를 작성하지 않는다. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 실제 코드와 맞먹을 정도로 방대한 테스트 코드는 심각한 관리 문제를 유발하기로 한다. 깨끗한 코드 유지하기 개념당 assert 문 수를 최소로 줄여라 테스트 함수 하나는 개념 하나만 테스트하라 소감 깨끗한 코드 유지하기 부분이 납득되었다. 빠른 테스트를 위해 알아보기 어려운 상태의 테스트 코드를 작성하는 것은 나중에 바뀔 실제코드에 맞게 테스트 코드도 변경되어야 하므로 테스트 코드 변경을 어렵게 만들기에 그렇다 도서관 프로젝트에서 배포 전에 만든 단위 테스트가 얼..
[Clean Code | 7장 오류처리 ] Day10~12 기억하고 싶은 부분 뭔가 잘못될 가능성은 늘 존재한다. 뭔가 잘못되면 바로 잡을 책임은 바로 우리 프로그래머에게 있다. 어떤 면에서 try 블록은 트랜잭션과 비슷하다. try 블록에서 무슨 일이 생기든지 catch 블록은 프로그램 상태를 일관성 있게 유지해야 한다. null을 반환하는 습관 흔히 저지르는 바람에 오류를 유발하는 행위를 설명하면서 첫 번째 예시로 들음 null을 반환하는 코드는 일거리를 늘릴 뿐만 아니라 호출자에게 문제를 떠넘긴다. 누구하나라도 null 확인을 빼먹는다면 애플리케이션이 통제 불능에 빠질지도 모른다. null 확인이 너무 많아 문제. 메서드에서 null을 반환하고픈 유혹이 든다면 그 대신 예외를 던지거나 특수 사례 객체를 반환한다. 특수 사례 패턴 (SPECIAL CASE P..