Skip to content

Conversation

@angryPodo
Copy link
Owner

Summary

라이브러리 및 샘플 앱의 전반적인 코드 품질, 가독성, 패키지 구조를 개선합니다.

라이브러리 모듈 (wisp-processor, wisp-runtime)

  • 역할 기반(parser, matcher, spi 등)으로 패키지 구조를 재구성했습니다.
  • ktlint 위반 사항을 모두 수정하고, 코드 가독성을 개선했습니다. (함수 추출, 스레드 안전성 확보 등)
  • 구조 변경으로 인해 깨졌던 테스트를 수정하고, 더 이상 사용되지 않는 코드를 삭제했습니다.

샘플 앱 (app)

  • 외부 딥링크(Intent)를 처리하고, 비동기 작업을 시뮬레이션하는 Splash 화면을 도입하여 더 현실적인 예제로 개선했습니다.
  • app 모듈의 패키지 구조를 기능(navigation, ui.main)에 맞게 정리했습니다.

This is a comprehensive refactoring of the library modules (wisp-processor, wisp-runtime) to improve code quality, maintainability, and organization.

- **Package Structure:** Reorganized files into role-based sub-packages (processor, validation, util, parser, matcher, spi).
- **Code Readability:** Refactored key files for clarity, simplicity, and thread-safety.
- **Code Style:** Fixed all ktlint violations across the library modules.
- **Test & Core Cleanup:** Fixed compile errors in tests and removed obsolete/dead code.
Improves the sample app to be a more realistic and useful example for the library.

- **Splash Screen Flow:** Adds a new Splash screen as the app's entry point, which simulates a loading delay and handles the initial navigation. This provides a realistic use case for token validation or data fetching.
- **External Deep Link:** The app now handles incoming deep link URIs from the intent, allowing it to be launched into a specific state from an external source.
- **Package Structure:** Reorganizes the app module's packages by feature for better clarity.
@angryPodo angryPodo requested a review from jm991014 November 25, 2025 00:26
@angryPodo angryPodo self-assigned this Nov 25, 2025
@angryPodo angryPodo added the REFACTOR🧽 Improve code structure for readability, maintainability, and performance. label Nov 25, 2025
@angryPodo angryPodo linked an issue Nov 25, 2025 that may be closed by this pull request
Copy link
Collaborator

@jm991014 jm991014 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

패키지 구조가 직관적으로 개선되어 보기 좋네요!!
별다른 수정 사항 없어 보입니다. 머지하시죠! 🚀🚀🚀

val declaration = resolvedType.declaration
val isEnum =
declaration is KSClassDeclaration && declaration.classKind == ClassKind.ENUM_CLASS
(resolvedType.declaration as? KSClassDeclaration)?.classKind == ClassKind.ENUM_CLASS
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏼

private var instance: Wisp? = null

@JvmStatic
@Synchronized
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏼

@angryPodo angryPodo merged commit 17ea669 into main Nov 25, 2025
2 checks passed
@angryPodo angryPodo deleted the refactor/#19-project-refactor branch November 25, 2025 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

REFACTOR🧽 Improve code structure for readability, maintainability, and performance.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor: 프로젝트 전반을 리팩토링 합니다.

3 participants