본문 바로가기
728x90

clean code9

7. 오류 처리 깨끗한 코드와 오류 처리는 연관성이 있다. 오류 처리 코드가 흩어져 있으면 실제 코드가 하는 일을 파악하기 거의 불가능 하다. 또 한 오류처리 코드로 인해 프로그램 논리를 이해하기 어려워 질 수 있다. 따라서 다음과 같은 방법을 통해 제대로된 오류 처리를 하면서도 깨긋한 코드를 작성해야 한다. 오류 코드보다 예외를 사용하라 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public class DeviceController { public void sendShutDown() { DeviceHandle handle = getHandle(DEV1); // 디바이스 상태를 점검한다 if (handle != DeviceHandle.INVALID) { // 레코드 필드에.. 2022. 1. 18.
6. 객체와 자료 구조 객체지향 패러다임에서 변수를 private으로 하는 이유는 변수에 의존하는 것을 막기 위해서이다. 그렇다면 왜 수많은 개발자들이 접근자와 수정가를 public으로 사용할까? 자료 추상화 변수를 private으로 선언하고 각 값마다 접근자와 수정자를 만든다면 이것은 진정한 캡슐화가 아니다. 변수 사이에 함수라는 계층을 넣는것 만으로는 구현이 감추어지지 않는다. 진정한 캡슐화를 위해서는 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 한다. 즉, 자료를 세세하게 표기하기 보다는 추상적인 개념으로 표기해야 한다. 이런 논리에 의거해 다음 두 인터페이스를 보면 두번째 인터페이스가 더 객체지향 스럽다는 것을 알 수 있다. 1 2 3 4 5 6 7 8 9 10 // 자동차 연료 상.. 2022. 1. 17.
5. 형식 맞추기 개발자라면 형식을 깔끔하게 맞춰 코드를 작성해야 한다. 코드 형식을 맞추기 위해 간단한 규칙을 정하고 그 규칙을 착실하게 따라야 한다. 형식을 맞추는 목적 코드의 형식은 매우! 아주! 중요하다! 코드 형식은 의사소통의 일환이다. 의사소통은 전문 개발자의 일차적인 의무다. 작성한 코드는 매우 불안정하다. 오늘 작성한 코드가 내일 바뀔 수 도 있다. 이때 코드의 가독성이 낮다면 앞으로 바뀔 코드 품질에 지대한 영향을 미친다. 오랜 시간이 흘러 초기의 코드 흔적을 찾아볼 수 없을지라도 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 지속적인 영향을 미친다. 원활한 소통을 위해서는 다음과 같은 코드 형식을 지켜야 한다. 적절한 행 길이를 유지하라. 하나의 파일의 행 길이가 적어야 이해하.. 2022. 1. 13.
3. 함수 작게 만들어라 함수를 작게 만들어라. 함수를 작게 만들어야 한 눈에 파악하기 쉽다. 하나의 함수는 15줄을 초과하면 안된다. 함수 내부에서 조건문, 반복문을 사용할때 들여쓰기의 depth가 2를 넘기지 말아야 한다. 이를 위해서는 조건문, 반복문 내부에서 함수를 호출하면 된다. 그러면 바깥을 감싸는 함수(enclosing function)이 작아진다. 또 한 블록안에서 호출하는 함수 이름이 적절하면 코드를 이해하기 쉬워진다. 한 가지만 해라! 함수는 한 가지 일만을 해야 한다. 제발 한 가지 일만 하게 하자. 여기서 말하는 한 가지 일은 지정한 하나의 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행하는 것을 의미한다. 즉, 함수이름으로 정해진 한가지 일 만을 수행한다면 그 함수는 한가지 일만을 하는.. 2022. 1. 3.
728x90