[c#] 코드 리팩터링 사례 연구

코드 리팩터링은 소프트웨어 개발에서 매우 중요한 활동입니다. 코드 리팩터링은 코드의 구조를 재정비하여 가독성을 향상시키고 유지보수를 용이하게 만듭니다. 이번 글에서는 C# 코드 리팩터링의 사례를 살펴보고자 합니다.

코드 리팩터링이란?

코드 리팩터링은 코드의 구조나 디자인을 변경하지 않고 내부 구조를 재조정하여 코드를 더 읽기 쉽고 유지보수하기 쉽게 만드는 과정을 말합니다. 리팩터링은 주로 코드 중복을 제거하거나 복잡한 메서드를 단순화하는 등의 작업을 포함합니다.

사례 연구

사례 1: 메서드 분리

public void ProcessData(List<int> data)
{
    // 복잡한 데이터 처리 로직
    // ...
    // 데이터 정제 로직
}

원본 코드에서 ProcessData 메서드는 데이터 처리와 데이터 정제를 모두 수행하고 있습니다. 이 경우 메서드를 분리하여 각각의 역할에 맞게 만들어 가독성을 개선할 수 있습니다.

public void ProcessData(List<int> data)
{
    var processedData = ProcessRawData(data);
    var cleansedData = CleanseData(processedData);
}

private List<int> ProcessRawData(List<int> data)
{
    // 복잡한 데이터 처리 로직
}

private List<int> CleanseData(List<int> data)
{
    // 데이터 정제 로직
}

위 코드에서 ProcessData 메서드는 데이터 처리와 데이터 정제 로직을 각각의 메서드로 분리하여 가독성과 유지보수를 개선하였습니다.

사례 2: 조건문 간소화

public string GetStatus(bool isActive, bool isApproved)
{
    if (isActive)
    {
        if (isApproved)
        {
            return "Active and Approved";
        }
        else
        {
            return "Active but Not Approved";
        }
    }
    else
    {
        return "Inactive";
    }
}

위 코드는 중첩된 조건문으로 가독성이 떨어집니다. 이를 간소화하여 가독성을 향상시킬 수 있습니다.

public string GetStatus(bool isActive, bool isApproved)
{
    if (!isActive)
    {
        return "Inactive";
    }

    if (isApproved)
    {
        return "Active and Approved";
    }
    else
    {
        return "Active but Not Approved";
    }
}

위 코드에서 조건문을 간소화하여 가독성을 개선하였습니다.

결론

C# 코드 리팩터링은 가독성을 향상시키고 유지보수성을 높이는데 큰 도움이 됩니다. 위의 사례에서는 메서드를 분리하거나 조건문을 간소화하는 등의 작업을 통해 가독성을 향상시키는 방법을 살펴보았습니다.

참고문헌: