#REFACTORING

리팩토링과 관련된 글.

SWR, 서버 데이터를 앱 데이터처럼 관리해보자 cover image
#refactoring

SWR, 서버 데이터를 앱 데이터처럼 관리해보자

프론트엔드는 웹과 사용자가 맞닿아 있는 부분을 개발하는 영역이다. 따라서 프론트 개발자에게 라는 문제는 정말 중요하다고 볼 수 있다. 그런데 서버의 데이터를 보여주기 전에 관리부터 해야 할 텐데 다들 어떻게 관리해왔을까? 서버 데이터를 앱에서 관리하…

프론트엔드에서의 Inversion of Control cover image
#refactoring

프론트엔드에서의 Inversion of Control

🎁 Inversion of Control 이란? , 제어 역전이란 무엇일까? 가장 간단히 설명하자면 용어 그대로 코드의 로직이 일반적인 제어 흐름이 아니라 역전된 것을 의미한다. 하지만 처음 IoC를 듣게 되면 은 무엇인지, 그리고 그 흐름이 어떻게…

presentational and container 패턴이란 무엇인가 cover image
#refactoring

presentational and container 패턴이란 무엇인가

❗ 본 글은 Hook 개념이 없는 과거 리액트를 기준으로 쓰여진 글입니다. 리액트에서 과거에 자주 언급되고 활용되었던 패턴 중 라는 패턴이 있다. 처음 이 패턴을 소개한 Dan Abramov는 2019년 기준으로 현재는 이 패턴을 사용하지 말라고 …

제네릭을 사용하여 테스트 중복 제거하기! cover image
#refactoring

제네릭을 사용하여 테스트 중복 제거하기!

문제 상황 안녕하세요. 👨‍💻 이번 포스팅에서는 반복되는 테스트를 어떻게 추상화할까? 라는 고민에 대한 글입니다. 아래의 테스트를 모두 작성하는 과정에서 중복 코드가 발생하고 테스트 코드가 유지보수 하기 어려워졌습니다. 인수테스트 컨트롤러 테스트 서비스…

String 클래스를 조심히 사용하자. cover image
#class

String 클래스를 조심히 사용하자.

자바로 프로그래밍 할 때 java.lang.Object와 기본 자료형(Primitive Object)을 제외하고 가장 많이 사용하는 객체는 String 클래스일 것이다. String 클래스는 잘 사용하면 상관이 없지만, 잘못 사용하면 메모리와 성능에…

불변객체를 만드는 방법 cover image
#immutable

불변객체를 만드는 방법

이번 글에서는 불변 객체로 만들어야 할 때 어떠한 방법으로 만들 수 있는지에 대해 이야기해보고자 합니다. 주로 클래스를 불변 클래스로 만드는 방법에 관해서 이야기 할 예정입니다. Immutable Object(불변 객체)란? 위키피디아에 의하면 를 …

인터페이스를 분리하여 테스트하기 좋은 메서드로 만들기 cover image
#interface

인터페이스를 분리하여 테스트하기 좋은 메서드로 만들기

이전 글에서 메서드 시그니처를 수정하여 테스트하기 좋은 메서드로 만들기에서는 테스트하기 어려운 메서드의 시그니처를 수정하여 테스트하기 쉽게 바꾸는 방법을 알아보았다. 해당 방법은 테스트하기 어려운 의존을 매개변수를 통해서 전달받도록 수정하여 메서드가…

하나의 메서드는 하나의 기능을 수행하자 cover image
#clean-code

하나의 메서드는 하나의 기능을 수행하자

우리는 프로그래밍을 하면서 수많은 메서드들을 작성한다. 그렇다면 우리가 작성하는 프로그래밍에서의 메서드란 무엇일까? 객체 지향 프로그래밍에서 메서드는 객체간의 협력하는 구조를 설계하고 구현하기 위해서 반드시 필요한 객체의 행동에 해당한다. 하지만 구…

메서드 시그니처를 수정하여 테스트하기 좋은 메서드로 만들기 cover image
#refactoring

메서드 시그니처를 수정하여 테스트하기 좋은 메서드로 만들기

테스트 코드의 중요성 테스트 코드를 작성하면 어떤 점이 좋을까? 우리는 왜 시간을 들어가며 테스트 코드를 작성해야 할까? 테스트 코드를 작성함으로 얻을 수 있는 장점은 여러 가지가 존재한다. 제품의 안정성을 높여준다. 기능의 추가 및 수정으로 인한 …

메소드 시그니처를 변경하지 않고, 테스트 가능한 구조 만들기. cover image
#refactoring

메소드 시그니처를 변경하지 않고, 테스트 가능한 구조 만들기.

메소드 시그니처를 변경하지 않고 테스트하기 메소드 시그니처란 메소드의 이름, 파라미터, 반환값의 데이터 타입을 통칭하는 말이다. 프로그래밍을 하다 보면 기존의 메소드 시그니처를 변경하지 않으면서 테스트 가능한 구조로 변경해야 하는 경우가 종종 있다.…