Buenas Prácticas
Una lista corta de convenciones y las trampas en las que realmente caímos. Ante la duda, seguí el estilo del código que te rodea.
Nombres
- Componentes:
PascalCase(OrderCard). - Hooks:
useXxx(useOrders). - Archivos: igual que el export por defecto (
OrderCard.tsx,useOrders.ts). - Tests: co-ubicados,
*.test.ts/*.test.tsx.
Carpetas
- Una feature es dueña de su código bajo
src/features/<feature>/. src/shared/es solo para código genuinamente transversal. Si lo usa una sola feature, vive en esa feature.
Commits y PRs
- Usá el estilo conventional-commit:
feat:,fix:,docs:,chore:,refactor:,test:. - Mantené los commits chicos y enfocados; mantené los PRs revisables.
- El CI tiene que estar en verde antes de mergear (ver Calidad de Código → Integración Continua).
Errores comunes
Advertencia
Estos son los errores que más tiempo nos costaron:
- Importar el barrel de una feature desde otra feature (crea ciclos de importación) — importá el módulo hoja directamente.
- Poner un secreto en una variable
EXPO_PUBLIC_*— viaja dentro de la app. - Usar clases
transition-*/animate-*sin Reanimated linkeado — explotan en runtime. - Correr
eas submitsobre un build preview (ad-hoc) — la tienda lo rechaza. - Agregar un dispositivo iOS y olvidarse de regenerar el provisioning profile — el tester puede registrarse pero no puede instalar.