로켓프레시, 올해는 건강 챙기세요!

가이드문구

리팩터링:코드 구조를 체계적으로 개선하여 효율적인 리팩터링 구현하기

  • 2024-08-04 08:52:09
  • 리뷰(0)

가이드문구

1. 불필요한 주석 삭제: 코드에서 불필요한 주석을 삭제하고, 코드 자체로 설명이 가능하도록 작성한다.

```
// 이 부분은 상품의 상세 설명을 불러오는 부분입니다.
function getProductDescription(productId) {
// 코드 내용
}
```

```
function getProductDescription(productId) {
// 코드 내용
}
```

2. 함수 분리: 코드를 읽기 쉽고 이해하기 쉬운 단위로 분리하여 가독성을 높인다.

```
function getProductDescription(productId) {
// 상세 설명을 가져오는 코드
// 코드 내용
}
```

```
function getProductDescription(productId) {
fetchProductDescription(productId);
}

function fetchProductDescription(productId) {
// 상세 설명을 가져오는 코드
// 코드 내용
}
```

3. 변수명 수정: 변수명을 명확하게 변경하여 의도를 파악하기 쉽도록 한다.

```
function getProductDescription(pid) {
// 코드 내용
}
```

```
function getProductDescription(productId) {
// 코드 내용
}
```

4. 중복 코드 제거: 중복된 코드를 함수로 분리하여 코드의 재사용성을 높인다.

```
function getProductDescription(productId) {
// 상세 설명을 가져오는 코드
// 코드 내용
}

function getRecommendedProductDescription(productId) {
// 상세 설명을 가져오는 코드
// 코드 내용
}
```

```
function getProductDescription(productId) {
fetchProductDescription(productId);
}

function getRecommendedProductDescription(productId) {
fetchProductDescription(productId);
}

function fetchProductDescription(productId) {
// 상세 설명을 가져오는 코드
// 코드 내용
}
```

5. 코드 내부 로직 간결화: 불필요한 코드를 제거하고, 간결하게 코드를 작성하여 가독성을 높인다.

```
function getProductDescription(productId) {
// 상세 설명을 가져오는 코드
// 코드 내용
if (productId !== null && productId !== undefined) {
return fetchProductDescription(productId);
}
}
```

```
function getProductDescription(productId) {
if (!productId) {
return;
}

return fetchProductDescription(productId);
}
```

6. 함수명 변경: 함수의 역할에 맞게 명확한 함수명을 사용하여 코드의 의도를 명확히 한다.

```
function getProductDesc(productId) {
// 코드 내용
}
```

```
function getProductDescription(productId) {
// 코드 내용
}
```

7. 모듈화: 상세 설명 관련 기능을 별도 모듈로 분리하여 코드를 구조화하고 재사용성을 높인다.

```
function getProductDescription(productId) {
// 상세 설명을 가져오는 코드
// 코드 내용
}
```

```
// productDescription.js

export function getProductDescription(productId) {
// 상세 설명을 가져오는 코드
// 코드 내용
}
```

8. 테스트 코드 작성: 상세 설명을 가져오는 함수에 대한 테스트 코드를 작성하여 코드의 안정성을 검증한다.

```
function getProductDescription(productId) {
// 상세 설명을 가져오는 코드
// 코드 내용
}
```

```
// productDescription.test.js

import { getProductDescription } from './productDescription';

test('getProductDescription returns correct description', () => {
expect(getProductDescription(1)).toBe('Description');
});
```

이와 같이 코드를 체계적으로 개선하여 효율적인 리팩터링을 구현할 수 있다.

가격·재고는 판매 페이지 기준으로 실시간 변동될 수 있습니다.
최신 정보는 상세 페이지에서 확인하세요.