본문 바로가기

[도서]3

[Effective Java] 빌드 패턴 생성자 매개변수가 많을 때, 다음과 같은 클래스가 있다면 5개의 매개변수를 가진 생성자를 만들게 될 것이다. public class Order { private final Long id; private final String username; private final int menuId; private final int quantity; private final int price; }생성자를 만드는 것 까진 문제가 되지않는다고 하자, 하지만 문제는 객체생성을위해 생성자를 호출할 때 생기게된다. Order order = new Order(1L,"userName",30,20,10);몇번째 매개변수가 어떤 값을 지칭하는지 시각적으로 나타나지 않는다. 순서를 바꿔넣어도 바뀌었는지 전혀 알 방도가 없다. 이럴 때.. 2021. 4. 7.
[Effective Java] 정적 팩토리 메서드 정적 팩토리 메서드 스태틱 메서드로 객체 생성을 캡슐화한다. 장점 이름이 있기에 가독성이 높다 인스턴스 생성 없이 가능하다. 반환 타입의 하위 타입으로도 반환이 가능하다. 객체 생성을 캡슐화할 수 있다. 1. 가독성이 높다. public class Coffee { int price, makeTime, calories; public Coffee(int price, int makeTime, int calories) { this.price = price; this.makeTime = makeTime; this.calories = calories; } public static Coffee newAmericano() { return new Coffee(4100, 5, 5); } public static Coffe.. 2021. 4. 7.
[Clean Code] 클린 코드 스파게티 코드 스파게티 코드는 컴퓨터 프로그램의 소스 코드가 복잡하게 얽힌 모습을 스파게티의 면발에 비유한 표현 3개월 아니, 불과 며칠 전에 자신이 작성한 코드를 볼 때, 잘 읽히지 않거나, 전혀 해석이 안 되는 경험을 한 적이 있을 것이다. (그런 적이 없다면 부럽다...) 생각해보면 알고리즘 문제를 풀거나 프로젝트를 진행하는 와중에도 그런 적이 많았던 것 같다. 나름대로 들여 쓰기도 하고 변수명, 함수명도 간결하게 작성하려고 노력하는데, '왜 잘 읽히지 않을까?' 다시 한 번 생각해봤다. 다른 사람의 코드가 잘 읽힌 적이 있었는지... 딱히 없는 것 같다... 왜 없을까 ?? 그냥 내가 코드를 잘 읽는 방법을 모른다면, 그래서 깔끔하게 코딩하는 방법을 잘못 이해하고 있었다면...? 그저 혼자만의 룰.. 2021. 3. 25.
728x90