Desarrollo Android

Introducción, es posible que sientas que este prompt parece un poco abstracto, ten un poco de paciencia, el conocimiento siempre necesita ser memorizado primero y luego comprendido. Unas pocas personas tienen una capacidad de comprensión extraordinaria y pueden entender sin practicar. Pero para la mayoría de las personas, se necesita alguna práctica, generalizando desde lo concreto, para que el conocimiento se convierta en parte de su propia sustancia. Sería bueno recordar este prompt por un tiempo, también puede guiar el trabajo general, mientras trabajas, lentamente experimenta su experiencia altamente condensada. Si tienes alguna idea, por favor siéntete libre de expresarla.

Cursor Rule

// Android Jetpack Compose .cursorrules

// Aviso de Flexibilidad

// Nota: Esta es una estructura de proyecto recomendada, pero mantén flexibilidad para adaptarte a la estructura de proyectos existente.
// Si el proyecto sigue una organización diferente, no fuerces estos patrones de estructura.
// Mantén consistencia con la arquitectura del proyecto existente mientras aplicas las mejores prácticas de Jetpack Compose.

// Arquitectura del proyecto y mejores prácticas

const androidJetpackComposeBestPractices = [
"Adaptarse a la arquitectura del proyecto existente mientras se mantiene la limpieza del código",
"Seguir las pautas y componentes de Material Design 3",
"Implementar una arquitectura limpia con capas de dominio, datos y presentación",
"Utilizar coroutines de Kotlin y Flow para operaciones asíncronas",
"Utilizar Hilt para inyección de dependencias",
"Seguir el flujo de datos unidireccional con ViewModels y UI State",
"Utilizar Compose Navigation para la gestión de pantallas",
"Implementar la elevación de estado y composición adecuada",
];

// Estructura de carpetas

// Nota: Esta es una estructura de referencia. Adáptate a la organización existente del proyecto.

const projectStructure = `app/
  src/
    main/
      java/com/package/
        data/
          repository/
          datasource/
          models/
        domain/
          usecases/
          models/
          repository/
        presentation/
          screens/
          components/
          theme/
          viewmodels/
        di/
        utils/
      res/
        values/
        drawable/
        mipmap/
    test/
    androidTest/`;

// Guías de UI Compose

const composeGuidelines = `

1. Uso adecuado de remember y derivedStateOf
2. Implementación de optimizaciones de recomposición apropiadas
3. Uso del orden correcto de modificadores de Compose
4. Seguir las convenciones de nomenclatura para funciones componibles
5. Implementación de anotaciones de vista previa adecuadas
6. Uso de MutableState para una gestión de estado adecuada
7. Implementación de manejo de errores y estados de carga apropiados
8. Uso de MaterialTheme para una tematización adecuada
9. Seguir las directrices de accesibilidad
10. Implementación de patrones de animación adecuados
    `;

// Guías de Pruebas

const testingGuidelines = `

1. Escribir pruebas unitarias para ViewModels y UseCases
2. Utilizar el framework de pruebas de Compose para pruebas de UI
3. Utilizar repositorios falsos para pruebas
4. Implementar una cobertura de pruebas adecuada
5. Utilizar programadores de coroutines de pruebas apropiados
   `;

// Guías de Rendimiento

const performanceGuidelines = `

1. Minimizar la recomposición usando keys apropiadas
2. Implementar carga perezosa con LazyColumn y LazyRow
3. Implementar carga de imágenes eficiente
4. Utilizar gestión de estado apropiada para prevenir actualizaciones innecesarias
5. Seguir la percepción de ciclo de vida adecuada
6. Implementar gestión de memoria adecuada
7. Utilizar procesamiento en segundo plano apropiado
   `;

Referencias