클린 코드 <8>
자료 추상화 - 구현을 외부로 노출하지 않는다. - 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료를 조작할 수 있어야 한다. - 아무 생각 없이 get, set을 외부에 노출하지 말자. 자료 / 객체 비대칭 - 절차적인 코드는 기존 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. - 객체 지향 코드는 기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다. 디미터 법칙 - 객체는 자료를 숨기고 함수를 공개해야 한다.(조회 함수로 내부 구조를 공개하면 안 됨) - 모듈 간 결합도를 최소화해야 한다. 자료 전달 객체 - 공개 변수만 있고 함수가 없는 클래스 - 비공개 변수를 get/set 함수로 조작 (사이비 캡슐화) :private String street; public String g..
코딩 컨벤션 (Coding Convention) 입사하면 제일 먼저 확인해야 할 것 중에 하나이다. 코드를 짜는 스타일은 사람마다 조금씩 다르다. 하지만 이 형식을 맞춰 둔다면 다른 사람이 짠 코드도 내가 짠 것 같고, 내가 짰지만 어? 이거 내가 짰나 싶을 정도로 유사해지며 가독성에 날개를 달아준다. 팀마다 형식이 다 다르고, 이 형식은 팀원들끼리 조율해서 나은 방향으로 맞춰 가면 된다. 처음부터 익숙할 수는 없으니 문서로 만들어 둔다면 신규 투입자가 개발 시 참고하면 좋다. - 적절한 행 길이를 유지하라 : 신문 기사처럼 작성하라(큰 그림부터 세부 묘사 순으로) : 개념은 빈행으로 분리(개념 간 유사, 종속 함수 등은 붙여서) - 가로 형식 맞추기 : 가로 공백과 밀집도(할당 문은 공백으로 구분, 함..