Skip to content

[Feat] HomeView, WordStudyView UI 구현#11

Merged
Rama-Moon merged 10 commits intomainfrom
feat/#11
Sep 16, 2025
Merged

[Feat] HomeView, WordStudyView UI 구현#11
Rama-Moon merged 10 commits intomainfrom
feat/#11

Conversation

@Rama-Moon
Copy link
Owner

UI 코드 작성 시 Constants 파일로 고정 String, Int 값을 관리

var dragOpacity: Double {
    1.0 - min(dragAmount / 300, 0.5)
}
enum Drag {
    static let opacityDivider: CGFloat = 300
    static let maxOpacityReduction: Double = 0.5
}

var dragOpacity: Double {
    1.0 - min(dragAmount / Drag.opacityDivider, Drag.maxOpacityReduction)
}
  • What: 코드 내에 흩어져 있는 값들(문자열, 숫자 등)을 체계적으로 관리할 방법에 대한 고민했습니다.
  • Why: 스와이프 애니메이션 구현 시에 동일한 값이 여러 곳에서 반복 사용되어 일부만 수정했을 때 불일치가 발생했습니다.
  • How: 네임스페이스를 사용하여 서로 연관된 값들을 그룹화하여 코드의 유지보수성과 재사용성을 높이고자 했습니다.
  • 개선점
    • 문장을 읽듯 코드를 확인할 수 있어 가독성이 개선됐습니다.
    • Constants에서 한 번만 수정하면 모든 곳에 적용할 수 있어 유지보수성을 향상시켰습니다.
    • enum과 타입 프로퍼티(static let)를 함께 사용하여 Namespace를 사용함으로써 불필요한 인스턴스 생성을 막았습니다.

@Rama-Moon Rama-Moon merged commit 2fa89da into main Sep 16, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant