클린코드 2

[클린 코드] 6장 - 객체와 자료 구조

6장 - 객체와 자료 구조 변수를 비공개로 정의하는 이유가 있다. 남들이 변수에 의존하지 않게 만들고 싶어서다. 그런데 어째서 수많은 프로그래머가 조회(get) 함수와 설정(set) 함수를 당연하게 public으로 설정해 비공개 변수를 외부에 노출할까? 자료 추상화 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 것이 좋다. 똑같이 2차원 점을 표현하는 두 클래스를 예시로 살펴보자. // 구체적인 Point 클래스 public class Point { // 필드값이 public으로 오픈 public double x; public double y; } // 추상적인 Point 클래스 public interface Point { // 필드값이 외부로 노출되어 있지 않고 오직 getter / sett..

독서일기 2022.11.17

[클린 코드] 5장 - 형식 맞추기

5장 - 형식 맞추기 형식을 맞추는 목적 원래 코드는 사라질지라도 개발자의 스타일과 규율은 사라지지 않는다. 오늘 구현한 기능이 다음 버전에서 바뀔 확률은 아주 높다. 이때 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다. 오랜 시간이 지나 원래 코드의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구현 스타일과 가독성 수준을 유지보수 용이성과 확장성에 계속 영향을 미친다. 1. 적절한 행 길이를 유지하라 큰 파일보다 작은 파일이 이해하기 쉽다 소스 코드(클래스가 아닌 파일 전체에서) 길이는 얼마가 적당할까? JUnit, FitNesse 등 유명한 프로그램을 포함해 대다수 자바 소스 파일을 조사한 결과 한 파일에 200줄 미만이 가장 많았다. 500..

독서일기 2022.11.15