[go] 템플릿 실행 로직 분리

이번에는 Go 언어에서 템플릿 실행 로직을 분리하는 방법에 대해 알아보겠습니다.

Motivation

기존의 코드는 템플릿을 실행하는 로직이 비즈니스 로직과 섞여 있어 유지보수가 어려웠습니다. 따라서 이를 분리하여 템플릿 실행 로직을 별도의 함수로 분리하기로 결정했습니다.

Current Implementation

func generateHTML(data interface{}) (string, error) {
    // 템플릿 로딩 및 실행 로직
    // ...
    return result, nil
}

현재의 코드는 템플릿을 로딩하고 실행하는 로직이 generateHTML 함수 안에 섞여 있습니다.

Proposed Implementation

func executeTemplate(data interface{}) (string, error) {
    // 템플릿 실행 로직만 포함된 함수
    // ...
    return result, nil
}

템플릿 실행 로직을 별도의 executeTemplate 함수로 분리하였습니다.

이제 기존의 generateHTML 함수는 적절한 데이터를 가공한 후, executeTemplate 함수를 호출하여 결과를 얻을 수 있게 됩니다.

Conclusion

템플릿 실행 로직을 분리함으로써 코드의 가독성과 유지보수성을 향상시킬 수 있었습니다. 이제 각 함수는 명확한 역할을 수행하며, 변경이 필요한 경우에도 템플릿 실행 로직에만 집중할 수 있습니다.

위와 같은 구조를 통해 코드의 유연성과 확장성을 확보하면서 Go 언어에서의 템플릿 실행 로직을 분리하는 방법에 대해 자세히 살펴보았습니다.