Ana içeriğe geç

Kodlama Standartları

Backend

  1. Katman sırasını koru — models → services → controllers → routers → app.ts. Router içine iş kuralı yazılmaz.
  2. Doğrulamayı veri hâline getir — yeni bir izin verilen değer veya alan as const listeye eklenmelidir (API_DOC_ENGINE_TYPES, API_DOC_COUNT_FIELDS). Yeni bir if dalı yazmak gerekiyorsa tasarım yeniden düşünülmelidir.
  3. Hata üretirken HttpError kullan — beklenen durumlar (400/401/403/404/ 409) için. Beklenmeyen hatalar yakalanmaz; merkezî middleware 500 üretir.
  4. Yanıt gönderirken sendSuccess / sendError kullan — istisna yalnızca sözleşmesi farklı uçlar içindir ve yorumla gerekçelendirilir.
  5. Denetim kaydında allowlist zorunlu — ham istek gövdesi asla yazılmaz.
  6. Gizli değer koda yazılmaz — her şey env üzerinden.

Frontend

  1. Ölçüler tek kaynaktan — pageFrame.ts. Bileşen içine piksel yazılmaz.
  2. Token kullan — tokens.spacing*, tokens.fontSize*, tokens.fontWeight*. Serbest piksel yerine IQV/Fluent token'ı.
  3. Griffel kısıtı — makeStyles içinde CSS shorthand özellikleri kullanılamaz; longhand yardımcıları tercih edilir.
  4. antd 5.14+ — bodyStyle kullanımdan kalkmıştır; styles={{ body }} kullanılır.
  5. Breakpoint icat etme — mevcut useBreakpoint (768px) veya sayfaya özel useApiMiddlewareBreakpoint kullanılır.
  6. Kapsamlı CSS — ortak bileşenlerin (PageContainer, AppShell) global davranışı değiştirilmez; gerekiyorsa .iqv-api-middleware-shell gibi kapsamlı bir sınıf kullanılır.

Ortak

  • Kararlar kodun yanında yorumla belgelenir; özellikle bir istisna veya alışılmadık bir tercih varsa gerekçesi yazılır.
  • Yıkıcı migration yapılmaz; eski kayıtlar okunabilir kalır.