Fias
  • FIASga xush kelibsiz!
  • Boshlash
    • Foydalanish
    • Structure
      • Next Js template
      • React Js template
  • Code Styling & linting
    • Prettier
  • ESLint
  • Husky
  • Other
    • Changelog
    • Contributing (Introduction)
      • Kod standartlari
      • Lokalda ishga tushurish
      • Pull request yuborish
      • Xatoliklar va Funksional takliflar
  • Manbalar
Powered by GitBook
On this page
  • 1. TypeScript asosida yozing
  • 2. ESLint & Prettier
  • 3. Fayl va Folder struktura (FSD)
  • 4. UI komponentlar
  • 5. Nomlash qoidalari
  • 📝 Commit Formatlari
  • ✅ Yodda tuting
  1. Other
  2. Contributing (Introduction)

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 lint
  • Har 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:

Prefix
Maqsadi

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.

PreviousContributing (Introduction)NextLokalda ishga tushurish

Last updated 16 days ago