Kod standartlari
FIAS loyihasida kod sifati va yaxlitligini saqlash muhim hisoblanadi. Quyidagi qoidalarga amal qilinadi:
1. TypeScript asosida yozing
Barcha komponentlar va funksiyalar TypeScript bilan yozilishi kerak.
Iloji boricha to‘liq typelar bilan ishlang (t.y. any tipidan qoching).
✅ To‘g‘ri:
type Props = {
title: string;
};
const PageTitle: React.FC<Props> = ({ title }) => {
return <h1>{title}</h1>;
};❌ Noto‘g‘ri:
const PageTitle = ({ title }: any) => {
return <h1>{title}</h1>;
};2. ESLint & Prettier
Loyiha ESLint va Prettier bilan sozlangan.
Kod yuborishdan oldin quyidagi buyruqlarni bajaring:
npm run prettier
npm run lintHar bir commit oldidan husky orqali avtomatik lint va prettier ishga tushadi. Xatoliklar bo‘lsa, commit rad etiladi.
3. Fayl va Folder struktura (FSD)
FIAS loyihasi FSD (Feature-Sliced Design) arxitekturasi asosida tashkil etilgan.
features/: alohida funksiyalar
entities/: ma’lumot modeliga asoslangan bloklar
shared/: umumiy util’lar, hooklar, UI komponentlar
pages/: sahifalar
❗ Har bir komponent, hook, funksiya o‘z joyida bo‘lishi kerak.
4. UI komponentlar
Tailwind CSS ishlatiladi.
Shadcn/ui kutubxonasidagi komponentlardan foydalanish tavsiya qilinadi.
Vizual izchillik uchun mavjud komponentlarni qayta ishlatmang — kerak bo‘lsa, shared/ui/ ichida umumiy komponent yarating.
5. Nomlash qoidalari
Papkalar va fayllar: kebab-case
Komponentlar, hooklar: PascalCase va camelCase
I18n fayllari: lang/uz.ts, lang/en.ts
📝 Commit Formatlari
FIAS loyihasida commit yozishda Conventional Commits formatiga amal qilinadi.
Quyidagi prefixlardan foydalaning:
feat:
Yangi funksiyalar qo‘shildi
fix:
Xatoliklar tuzatildi
docs:
Hujjatlarga oid o‘zgarishlar
style:
Kod formati, dizayn (JS o‘zgarmasdan)
refactor:
Kodni optimallashtirish (funksional emas)
test:
Testlar qo‘shildi yoki yangilandi
chore:
Texnik o‘zgarishlar (CI, konfiguratsiya)
📌 Misollar:
✅ To‘g‘ri:
feat: navbar uchun tilni almashtirish funksiyasi qo‘shildi
fix: mobil menyu yopilmay qolish xatosi tuzatildi
docs: contributing.md sahifasi yangilandi
❌ Noto‘g‘ri:
updated navbar
bug fixed
style change
✅ Yodda tuting
Commitlar aniq va qisqacha bo‘lishi kerak.
Har bir commit loyihani yaxshilashga yo‘naltirilgan bo‘lishi lozim.
Pull request oldidan husky orqali commitlar lint va format tekshiruvdan o‘tadi.
Last updated