가전디지털, AI가전 모음전

가이드문구

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

  • 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'); }); ``` 이와 같이 코드를 체계적으로 개선하여 효율적인 리팩터링을 구현할 수 있다.

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