본문 바로가기

독서/클린 코드11

클린 코드 (Clean Code) - 10장 클래스 노션 정리 10장 클래스 책에서 기억하고 싶은 내용을 써보세요. sondho.notion.site 😃 책에서 기억하고 싶은 내용을 써보세요. 클래스 체계 클래스를 정의하는 표준 자바 관례에 따르면 가장 먼저 변수 목록이 온다. 정적 공개 상수가 있다면 맨 처음에 나온다. 다음으로 정적 비공개 변수가 나오며 이어서 비공개 인스턴스 변수가 나온다. 공개 변수가 필요한 경우는 거의 없다. 변수 목록 다음에는 공개 함수가 나온다. 비공개 함수는 자신을 호출하는 공개 함수 직후에 넣는다. 즉, 추상화 단계가 순차적으로 내려간다. 캡슐화 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야 한다는 법칙도 없다. 때로는 변수나 유틸리티 함수를 protected로 선언해 테스트 코드에 접근을 허용하기.. 2022. 3. 18.
클린 코드 (Clean Code) - 9장 단위 테스트 노션 정리 9장 단위 테스트 책에서 기억하고 싶은 내용을 써보세요. sondho.notion.site 😃 책에서 기억하고 싶은 내용을 써보세요. TDD 법칙 세 가지 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 위 세 가지 규칙을 따르면 개발과 테스트가 대략 30초 주기로 묶인다. 실제 코드와 맞먹을 정도로 방대한 테스트 코드는 심각한 관리 문제를 유발하기도 한다. 깨끗한 테스트 코드 유지하기 실제 코드가 진화하면 테스트 코드도 변해야 하는데 테스트 코드가 지저분할 수록 변경하기 어려워진다. 테스트 코드가 복잡할수록 실제 코드를 짜는 시간보다 .. 2022. 3. 18.
클린 코드 (Clean Code) - 7장 오류 처리 노션 정리 7장 오류 처리 책에서 기억하고 싶은 내용을 써보세요. sondho.notion.site 😃 책에서 기억하고 싶은 내용을 써보세요. 깨끗한 코드와 오류 처리는 확실히 연관성이 있다. 상당수 코드 기반은 전적으로 오류 처리 코드에 좌우된다. 흩어진 오류 처리 코드 때문에 실제 코드가 하는 일을 파악하기가 거의 불가능하다는 의미다. 오류 코드보다 예외를 사용하라 오류 플래그를 설정하거나 호출자에게 오류 코드를 반환하는 방법을 사용하면 호출자 코드가 복잡해진다. 함수를 호출한 즉시 오류를 확인해야 하기 때문이다. 오류가 발생하면 예외 처리하는 편이 낫다. 논리가 오류 처리 코드와 뒤 섞이지 않으니까 더 깔끔해진다. Try-Catch-Finally 문부터 작성하라 어떤 면에서 try 블록은 트랜잭션과.. 2022. 3. 18.
클린 코드 (Clean Code) - 6장 객체와 자료구조 노션 정리 6장 객체와 자료구조 책에서 기억하고 싶은 내용을 써보세요. sondho.notion.site 😃 책에서 기억하고 싶은 내용을 써보세요. 자료 추상화 변수 사이에 함수라는 계층을 넣는다고 구현이 저절로 감춰지지는 않는다. 구현을 감추려면 추상화가 필요하다. 그저 (형식 논리에 치우쳐) 조회 함수와 설정 함수로 변수를 다룬다고 클래스가 되지는 않는다. 그보다는 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 클래스다. 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. 인터페이스나 조회/설정 함수만으로 추상화가 이뤄지지는 않는다. 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다. 자료/객체 비대칭 .. 2022. 3. 18.