Proje: Okul B2B App · Hub: Okul B2B App — Conventions

Kodlama Standartları Özeti

docs/development/CODING_STANDARDS.md özeti.

Genel Prensipler

  1. Clean Code — Okunabilir, anlamlı isimler, minimal karmaşıklık
  2. Single Responsibility — Her sınıf/fonksiyon tek iş
  3. DRY — Kod tekrarını önle, yeniden kullan

TypeScript Kuralları

  • Strict mode kullanılır
  • any yerine proper tipler
  • Interface over type alias (nesne tipleri için)
  • Readonly immutability

React Native Kuralları

  • const arrow fonksiyonlar için bileşenler
  • React.memo ile gereksiz render’ları önle
  • Hooks kural sırası: state → effect → memoized → callbacks
  • useCallback ve useMemo performans kritik yerlerde

Naming Conventions

ÖğeKuralÖrnek
BileşenlerPascalCaseLeadDetailModal
Hook’laruseCamelCaseuseSchool
SabitlerUPPER_SNAKEAPI_CONFIG
FonksiyonlarcamelCasegetLeads
Event handlershandleEventhandleSchoolSelect

Error Handling

Servisler:

  • throw etmez, boş/default değer döner (defensive)
  • Hataları logError() ile loglar
  • Kullanıcıya Toast ile bildirim

Exceptions:

  • NotesService.createNote/updateNote throw eder
  • SchoolContentService SchoolContentResult döner

Security

  • expo-secure-store ile hassas veri
  • Input validation boundary’lerde
  • SQL injection/XSS risk yok (native API)