클린코드 12

OOP, TDD, 리팩토링

https://codesquad-yoda.medium.com/%ED%9A%A8%EA%B3%BC%EC%A0%81%EC%9C%BC%EB%A1%9C-tdd-%EB%A6%AC%ED%8C%A9%ED%86%A0%EB%A7%81-oop%EB%A5%BC-%EC%97%B0%EC%8A%B5%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95%EC%9D%80-7ecc9ddb5d45 효과적으로 TDD, 리팩토링, OOP를 연습하는 방법은? 강의를 하다 보면 개발자들에게 듣는 질문 중의 하나는 “테스트 주도 개발(Test Driven Development, 이하 TDD), 리팩토링(Refactoring), 객체 지향 프로그래밍(Object Oriented Programming, 이하… codesquad-yoda...

SOLID Principles

https://walbatrossw.github.io/oop/2018/07/27/03-solid-srp.html SOLID - 단일책임 원칙(Single Responsibility Principle) - 더블에스 Devlog 본 글은 자바 객체지향과 디자인패턴를 읽고 개인적으로 학습한 내용을 복습하기 위해 작성된 글로 내용상 오류가 있을 수 있습니다. 오류가 있다면 지적 부탁드리겠습니다. 1. 책임의 의미 객 walbatrossw.github.io https://walbatrossw.github.io/oop/2018/07/27/04-solid-ocp.html SOLID - 개방-폐쇄 원칙(Open-Closed Principle) - 더블에스 Devlog 본 글은 자바 객체지향과 디자인패턴를 읽고 개인적으..

좋은 코드란 CHANGE의 영향력을 최소화하며 기꺼이 받아들이는 것

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=knix008&logNo=221417885690 [ 코드의 변경성에 대해서 ] 세상의 모든 것들은 변한다. 심지어 "변한다는 것 자체가 영원히 변하지 않는 진리"라고 받아들여지기도 한... blog.naver.com 결국 OO Principle, Design Pattern에서 나오는 내용을 요약한 글이다. 어떻게 유지보수가 쉽고 좋은 코드를 작성하는가에 대한 핵심은 code reuse를 높이고, 변화에 유연하며, 코드의 변경 전과 후에 동일하게 작동하는 것이다.

클린코드 2021.06.20

Inheritance보단 Composition을 사용하라

https://woowacourse.github.io/javable/post/2020-05-18-inheritance-vs-composition/ 상속보다는 조합(Composition)을 사용하자. … woowacourse.github.io 상속을 하게되면 필연적으로 Tight Coupling이 발생하므로, 구현하려는 코드의 varying parts와 not varying parts를 나누어, varying parts는 setter를 통해 HASA관계로 호출하도록 하고, (ex. call interface) not varying parts만 상속받도록 한다. (ex. abstarct class)