Skip to content

Refactor large classes exceeding 300 lines #95

@callebtc

Description

@callebtc

Description:
Several classes exceed the recommended 300-line limit, making them harder to maintain and test.

Large Classes Identified:

  • ModernPOSActivity.kt: 381 lines
  • PaymentRequestActivity.kt: 852 lines
  • TopUpActivity.kt: 562 lines
  • Other activities likely affected

Issues:

  1. Violates Single Responsibility Principle
  2. Harder to test individual components
  3. Increased complexity for maintenance

Fix Instructions:
Break down large classes using these patterns:

  1. Extract Helper Classes:
// Extract complex logic to separate classes
class PaymentFlowManager(private val activity: PaymentRequestActivity) {
    fun handlePaymentFlow() { /* logic */ }
}
  1. Use Fragments for UI Components:
// Split large activities into fragments
class PaymentOptionsFragment : Fragment()
class PaymentStatusFragment : Fragment()  
  1. Extract Business Logic:
// Move business logic to separate classes
class PaymentProcessor
class ValidationManager

Refactoring Priority:

  1. PaymentRequestActivity.kt (852 lines) - highest priority
  2. TopUpActivity.kt (562 lines)
  3. ModernPOSActivity.kt (381 lines)

Target: Keep classes under 300 lines, methods under 50 lines

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions