반응형

2025/03 4

[디자인패턴의 아름다움] ch 4, ch 5

4장주제 : 코딩 컨벤션, 코딩 원칙5장주제 : 단위 테스트, 리팩토링  찾아본 내용1. The Technical Debt Trap • Doc Norton • YOW! 2017https://www.youtube.com/watch?v=u6s8S63OOIE 이 컨텐츠는 기술 부채의 개념과 그 위험성을 다루고 있습니다. 발표자는 기술 부채가 단순한 코드의 문제를 넘어 전략적 설계 결정으로 이해되어야 하며, 이를 관리하기 위해서는 청결한 코드와 비즈니스의 이해가 필수적이라고 강조합니다. 기술 부채를 잘못 이해하면 비효율적인 코드와 혼란을 초래할 수 있으므로, 항상 코드를 정리하고 관리하는 것이 중요하다는 메시지를 전달합니다. 기술 부채는 잘못된 코드와는 다르며, 위험이 존재하지만 지금 당장 테스트나 리팩토링을 ..

독서 2025.03.30

[디자인패턴의 아름다움] ch 3

3장주제 : 설계 원칙  단일 책임 원칙p. 118주의할 점은 단일 책임 원칙이 설명하는 대상에는 클래스와 모듈이라는 두 가지 종류가 있다는 점이다. p. 120클래스에 private 메서드가 너무 많은 경우 이 private 메서드를 새로운 클래스로 분리하고 더 많은 클래스에서 사용할 수 있도록 public 메서드로 설정하여 코드의 재사용성을 향상시켜야 한다.클래스의 이름을 정의하기 어려울 경우, 클래스 책임 정의가 충분히 명확하지 않음을 의미할 수 있다.  개방 폐쇄 원칙p. 130속성과 메서드가 추가되었기 때문에 분명히 클래스가 수정되었다고 할 수 있다. (중략) 하지만 이 변경 사항이 기존의 속성을 변경하거나 메서드를 수정하지 않았기 때문에 속성이나 메서드 입장에서 보면 확장으로 간주될 수 있다...

독서 2025.03.23

[디자인 패턴의 아름다움] ch 2.4 ~ 2.9

2.4 ~ 2.9장주제 : 객체지향 프로그래밍의 특징 추상화 관련p. 61함수를 사용할 때 우리는 함수가 어떻게 구현되는지가 아니라 어떤 함수가 있는지를 이해하면 충분하다. p. 63함수형 프로그래밍의 함수는 프로그래밍 언어에서 말하는 함수가 아니라 y = f(x) 같은 수학의 함수 또는 표현식을 의미한다. Java 의 함수 인터페이스 p. 65Java는 함수형 프로그래밍을 위해 세 가지 새로운 문법 개념인 Stream 클래스, 람다 표현식, 함수형 인터페이스를 도입했다. p. 68C 언어의 경우 함수를 변수로서 사용할 수 있는 함수 포인터를 지원하지만, Java는 함수 포인터를 지원하지 않기 때문에 대신 함수형 인터페이스를 통해 함수를 감싼 것을 변수로 사용한다.  파싱 메서드의 최적 위치1. 엔티티 ..

독서 2025.03.16

[디자인 패턴의 아름다움] ch 1, ch 2.1 ~ 2.3

1장주제 : 고품질의 코드란 무엇인가 디자인 패턴은 언제 적용해야 할까?p. 2속도와 확장성을 맹목적으로 추구하는 현재의 개발 환경에서 안타깝게도 대다수의 소프트웨어 엔지니어는 고품질의 코드를 작성하는 방법에 대해 생각할 시간이 많지 않은 것도 사실이다. p. 16개발 초기 단계에서 필요한 경우를 제외하고는 복잡한 디자인 패턴을 과도하게 설계하여 적용하면 안 되지만, ... p. 20따라서 잘못된 요구 사항 예측으로 인한 과도한 설계를 피하기 위해 지속적인 리팩터링 개발 방법을 권장한다. 항상 고민되는 부분이다. 좋은 코드를 작성하기 위해 설계에 신경 쓰고 싶지만, 현실적으로는 단순한 코드로도 충분히 해결할 수 있는 비즈니스 문제를 다루는 경우가 많다. 따라서 무조건 복잡한 설계를 적용하는 것은 오히려 ..

독서 2025.03.09
반응형