java 썸네일형 리스트형 [Reactive Streams] Operators 이전 글 요약 Publisher(공급자) -> Subscriber가 Publisher에게 등록 -> Subscriber 최대 처리량 세팅(onSubscribe) -> Publisher는 입력 받은 최대 처리량 씩 Subscriber의 onNext 호출 -> Subscriber는 모든 처리가 완료되면 onComplete 호출, 에러 발생 시 onError 호출 Operators Publisher -> [Data1] -> Operator -> [Data2] -> Operator -> [Data3] ... -> Subscriber 중간에 Data를 가공한다. Publisher와 Subscriber가 바로 연결되어 있는 것이 아닌 중간에 Operator가 존재할 수 있다. Map Publisher -> [Dat.. 더보기 [Refactoring] 11. 기본형 집착 코딩으로 학습하는 리팩토링 - 인프런 | 강의 리팩토링은 소프트웨어 엔지니어가 갖춰야 할 기본적인 소양 중 하나입니다. 이 강의는 인텔리J와 자바를 사용하여 보다 실용적인 방법으로 다양한 코드의 냄새와 리팩토링 기술을 설명하고 직 www.inflearn.com | 인프런 - 백기선님의 코딩으로 학습하는 리팩토링 강의를 수강하며 정리한 글입니다. 기본형 집착 도메인에 필요한 기본 타입을 만들지 않고 프로그래밍 언어에서 제공하는 기본 타입을 사용하는 경우가 많다. 기본형으로는 단위 또는 표기법을 표현하기 어렵다. 관련 리팩토링 기술 기본형을 객체로 바꾸기 타입 코드를 서브 클래스로 바꾸기 조건부 로직을 다형성으로 바꾸기 클래스 추출하기 매개변수 객체 만들기 Refactoring 1. 필드 옮기기 개발 초기에.. 더보기 [Refactoring] 10. 데이터 뭉치 코딩으로 학습하는 리팩토링 - 인프런 | 강의 리팩토링은 소프트웨어 엔지니어가 갖춰야 할 기본적인 소양 중 하나입니다. 이 강의는 인텔리J와 자바를 사용하여 보다 실용적인 방법으로 다양한 코드의 냄새와 리팩토링 기술을 설명하고 직 www.inflearn.com | 인프런 - 백기선님의 코딩으로 학습하는 리팩토링 강의를 수강하며 정리한 글입니다. 데이터 뭉치 항상 뭉쳐 다니는 데이터는 한 곳으로 모아두는 것이 좋다. 여러 클래스에 존재하는 비슷한 필드 목록 여러 함수에 전달하는 매개변수 목록 관련 리팩토링 기술 클래스 추출하기 -> 여러 필드를 하나의 객체나 클래스로 모을 수 있다. 매개변수 객체 만들기, 객체 통째로 넘기기 -> 메서드 매개변수를 개선할 수 있다. Before public class Em.. 더보기 [Refactoring] 9. 기능 편애 코딩으로 학습하는 리팩토링 - 인프런 | 강의 리팩토링은 소프트웨어 엔지니어가 갖춰야 할 기본적인 소양 중 하나입니다. 이 강의는 인텔리J와 자바를 사용하여 보다 실용적인 방법으로 다양한 코드의 냄새와 리팩토링 기술을 설명하고 직 www.inflearn.com | 인프런 - 백기선님의 코딩으로 학습하는 리팩토링 강의를 수강하며 정리한 글입니다. 기능 편애 어떤 모듈에 있는 함수가 다른 모듈에 있는 데이터나 함수들을 더 많이 참조할 때 발생한다. 만약 여러 모듈을 참조하고 있다면, 그 중에서 가장 많은 데이터를 참조하는 곳으로 옮기거나, 함수를 여러 개로 쪼개서 각 모듈로 분산시킬 수 있다. 데이터와 해당 데이터를 참조하는 행동을 같은 곳에 두는 것이 좋다. 예외적으로, 데이터와 행동을 분리한 디자인 패턴.. 더보기 [Refactoring] 7. 뒤엉킨 변경 코딩으로 학습하는 리팩토링 - 인프런 | 강의 리팩토링은 소프트웨어 엔지니어가 갖춰야 할 기본적인 소양 중 하나입니다. 이 강의는 인텔리J와 자바를 사용하여 보다 실용적인 방법으로 다양한 코드의 냄새와 리팩토링 기술을 설명하고 직 www.inflearn.com | 인프런 - 백기선님의 코딩으로 학습하는 리팩토링 강의를 수강하며 정리한 글입니다. 뒤엉킨 변경 소프트웨어는 변경에 유연하게 대처할 수 있어야 한다. 서로 다른 문제는 다른 모듈에서 해결하는 것이 좋다. 응집도를 높이고 결합도를 낮추자. 모듈의 책임이 분리되어 있을 수록 해당 문맥을 더 잘 이해할 수 있으며 다른 문제는 신경쓰지 않아도 된다. 관련 리팩토링 기술 단계 쪼개기 -> 서로 다른 문맥의 코드를 분리할 수 있다. 함수 옮기기 -> 적절한.. 더보기 [Refactoring] 5. 전역 데이터 코딩으로 학습하는 리팩토링 - 인프런 | 강의 리팩토링은 소프트웨어 엔지니어가 갖춰야 할 기본적인 소양 중 하나입니다. 이 강의는 인텔리J와 자바를 사용하여 보다 실용적인 방법으로 다양한 코드의 냄새와 리팩토링 기술을 설명하고 직 www.inflearn.com | 인프런 - 백기선님의 코딩으로 학습하는 리팩토링 강의를 수강하며 정리한 글입니다. 전역 데이터 전역 데이터 -> ex) public static... 전역 데이터는 아무 곳에서 변경될 위험이 있다. 어떤 코드로 인해 변경되었는지 파악하기 힘들다. 변수 캡슐화하기를 적용해서 접근을 제어하거나 어디서 사용하는지 쉽게 파악할 수 있다. Refactoring 1. 변수 캡슐화하기 Encapsulation 메서드는 점진적으로 새로운 메서드로 변경시킬 수.. 더보기 [Refactoring] 4. 긴 매개변수 목록 코딩으로 학습하는 리팩토링 - 인프런 | 강의 리팩토링은 소프트웨어 엔지니어가 갖춰야 할 기본적인 소양 중 하나입니다. 이 강의는 인텔리J와 자바를 사용하여 보다 실용적인 방법으로 다양한 코드의 냄새와 리팩토링 기술을 설명하고 직 www.inflearn.com | 인프런 - 백기선님의 코딩으로 학습하는 리팩토링 강의를 수강하며 정리한 글입니다. 긴 매개변수 목록 함수에 매개변수가 많을수록 함수의 역할을 이해하기 힘들어진다. 어떤 매개변수를 다른 매개변수를 통해 알아낼 수 있다면, 매개변수를 질의 함수로 바꾸기를 사용할 수 있다. 기존 자료구조에서 세부적인 데이터를 가져와서 여러 매개변수로 넘기는 대신, 객체 통째로 넘기기를 사용할 수 있다. 일부 매개변수들이 대부분 같이 넘겨진다면, 매개변수 객체 만들기.. 더보기 [Refactoring] 3. 긴 함수 코딩으로 학습하는 리팩토링 - 인프런 | 강의 리팩토링은 소프트웨어 엔지니어가 갖춰야 할 기본적인 소양 중 하나입니다. 이 강의는 인텔리J와 자바를 사용하여 보다 실용적인 방법으로 다양한 코드의 냄새와 리팩토링 기술을 설명하고 직 www.inflearn.com | 인프런 - 백기선님의 코딩으로 학습하는 리팩토링 강의를 수강하며 정리한 글입니다. 긴 함수 코드를 읽으면서 이해하기 난해하거나, 구현을 이해한다고 생각되면 긴 함수이다. 과거에는 작은 함수를 사용하는 경우 더 많은 서브 루틴 호출로 인한 오버헤드가 존재했다. 최근 사용하는 프로그래밍 언어는 최적화가 이루어지기 때문에 고려할 만한 오버헤드가 아니다. 단점 코드를 이해하기 어렵다. 방법 99% 함수 추출하기로 해결할 수 있다. 함수로 분리하면서 해.. 더보기 이전 1 2 3 4 다음