Katman sırasını koru — models → services → controllers → routers →
app.ts. Router içine iş kuralı yazılmaz.
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.
Yanıt gönderirken sendSuccess / sendError kullan — istisna yalnızca
sözleşmesi farklı uçlar içindir ve yorumla gerekçelendirilir.
Denetim kaydında allowlist zorunlu — ham istek gövdesi asla yazılmaz.
Gizli değer koda yazılmaz — her şey env üzerinden.
Frontend
Ölçüler tek kaynaktan — pageFrame.ts. Bileşen içine piksel yazılmaz.
Token kullan — tokens.spacing*, tokens.fontSize*,
tokens.fontWeight*. Serbest piksel yerine IQV/Fluent token'ı.
Griffel kısıtı — makeStyles içinde CSS shorthand özellikleri
kullanılamaz; longhand yardımcıları tercih edilir.
antd 5.14+ — bodyStyle kullanımdan kalkmıştır; styles={{ body }}
kullanılır.
Breakpoint icat etme — mevcut useBreakpoint (768px) veya sayfaya özel
useApiMiddlewareBreakpoint kullanılır.
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.