# Kod

> Dvina yordamida kompyuteringizdagi loyihada kod yozdiring, har bir o‘zgarishni tekshiring, so‘ng chatdan kommit qiling va pull request oching.

Dvina kompyuteringizdagi loyihada kod yozadi, bunda qaydlar, suhbatlar va qarorlarning sabablari ham hisobga olinadi. Nima kerakligini aytasiz, kiritilgan o‘zgarishlarni tekshirasiz va ishni yakunlab topshirasiz — barchasi boshqa ishlaringiz uchun ham foydalanadigan ilovada.

## Boshlashdan oldin

Kod yozish imkoniyati Mac, Windows va Linux uchun Dvina kompyuter ilovasiga kiradi. Alohida hech narsa o‘rnatish shart emas. Dvina kamida bitta kompyuterda o‘rnatilgan bo‘lishi kerak; boshqa barcha qurilmalardan ishni boshlash va uning borishini kuzatish mumkin.

Kompyuter ilovasini olish uchun [Dvina’ni yuklab olish va o‘rnatish](/docs/use-dvina/get-started/install) sahifasiga qarang.

## Loyihani oching

Loyiha — kompyuteringizdagi papka: kod repozitoriysi yoki oddiy papka.

1. Kompyuter ilovasida Dock’ni oching va loyihalar qatorini (**Loyihalar**) tanlang.
2. Papka yoki kod repozitoriysini tanlash uchun **Ochish…** tugmasini, shu kompyuterda yangi papka yaratish uchun esa **Yangi loyiha…** tugmasini tanlang.

Yangi loyiha yaratishda har bir o‘zgarish tarixini saqlash uchun **Git repozitoriysini yaratish** parametrini yoqing. Shunda Dvina kiritgan o‘zgarishlarni bekor qilish mumkin bo‘ladi.

Chat siz tanlagan loyihada ishlaydi. Kod loyihasi uchun Dock’da uning tarmog‘i ham ko‘rsatiladi.

## Nima qilish kerakligini ayting

Nima kerakligini ayting, masalan: «CSV eksportida to‘g‘ri sanalar ishlatilsin». Dvina buni kompyuteringizda vazifa sifatida bajaradi, siz esa suhbatni davom ettirishingiz yoki boshqa vazifalarni boshlashingiz mumkin. Bir nechta vazifa bitta repozitoriyda ishlashi va qaysi biri avval kommit qilishini o‘zaro hal qilishi mumkin.

Kod yozishdan oldin Dvina loyihani unga bog‘liq ma’lumotlar bilan birga o‘rganadi: oldingi chatlaringiz va fayllaringizdan qidiradi, shunda qarorlarning sabablari ham hisobga olinadi. Shuningdek, loyihangizdagi AGENTS.md yoki CLAUDE.md ko‘rsatmalariga amal qiladi.

## O‘zgarishlarni tekshiring

Har bir vazifaning javobi uning o‘zgarishlari bilan birga, vazifa nomi qo‘yilgan va **Tekshirishga tayyor** deb yozilgan kartochkada keladi.

- **Nima o‘zgarganini ko‘ring:** Har bir fayldagi o‘zgarishlarni yon panelda ko‘rish uchun **O‘zgarishlar** tugmasini tanlang. **Fayllar** orqali loyiha fayllarini ko‘rib chiqishingiz mumkin.
- **Bir javobdagi o‘zgarishlarni bekor qiling:** Fayllarni o‘zgartirgan javob ostida nechta fayl o‘zgarganini ko‘rsatuvchi qatorni tanlang, so‘ng **Bekor qilish** tugmasini bosing va **Ushbu javobdagi o‘zgarishlar bekor qilinsinmi?** so‘rovini tasdiqlang. Fayllar shu javobdan oldingi holatiga qaytadi, undan keyin kiritilgan o‘zgarishlar esa saqlanadi.

## Kommit qiling va pull request oching

1. Vazifa kartochkasida **Kommit qilish** tugmasini tanlang.
2. **O‘zgarishlarni kommit qilish** oynasida tarmog‘ingizda kommit qilinadigan fayllar hamda tavsiya etilgan **Sarlavha** va **Xabar** ko‘rsatiladi. **Kommit qilish** tugmasini tanlang. Hech narsa serverga yuborilmaydi.
3. Pull request ochish uchun **Serverga yuborish va PR yaratish** tugmasini tanlang. Dvina avval joriy tarmoqni serverga yuboradi, so‘ng pull request ochadi. Kommit qilinmagan fayllar unga kiritilmaydi.

Pull request Git’da o‘zingiz kirgan hisob orqali ochiladi. Dvina uni GitHub yoki GitLab’da ochadi; boshqa har qanday xost uchun esa brauzeringizda o‘sha xostning yangi pull request sahifasi ochiladi. Jarayon tugagach, **PR’ni ko‘rish** tugmasini tanlang.

## Tasdiqlash

Loyihani yig‘ish va testlar ruxsat so‘ramasdan bajariladi. Fayllarni o‘chirish, o‘zgarishlarni push qilish, ma’lumotlar bazasini o‘zgartirish, loyihani joylashtirish va maxfiy ma’lumotlar bilan bog‘liq har qanday amal tasdig‘ingizni kutadi. Kartochkada sabab ko‘rsatiladi: masalan, **Bu buyruq bajarilsinmi?** savoli bilan birga **Fayllarni o‘chiradi** yoki **Ma’lumotlar bazasini o‘zgartiradi** yozuvi chiqadi. Siz **Ruxsat berish** yoki **Rad etish**ni tanlaysiz. Administratoringiz qaysi amallar doim tasdiq so‘rashini belgilashi mumkin.

> [!IMPORTANT]
> Siz ruxsat bermaguningizcha hech qanday o‘zgarish push qilinmaydi. Loyihangiz kompyuteringizdagi papkada saqlanadi va Git yordamida Dvina kiritgan har bir o‘zgarishni bekor qilish mumkin.

## Simulyator yoki emulyatorda sinash

Dvina ish stoli ilovasida ilovangizni shu kompyuterda foydalanuvchilaringiz kabi sinab ko‘rishi mumkin: brauzerda, Mac’da iOS Simulator orqali yoki Mac, Windows yoxud Linux’da Android Emulator orqali.

1. Dock’ni oching va **Qurilma** deb belgilangan qatorni tanlang.
2. **Ushbu qurilma** bo‘limida **Brauzer**, **iOS Simulator** yoki **Android Emulator**ni tanlang.

Oyna yon panelda ochiladi. O‘chirilgan simulyator uni ochganingizda ishga tushadi. Boshqasidan foydalanish uchun oynaning yuqori qismidagi **Qurilmani tanlash**ni tanlang; har bir qurilmaning tizimi va **Ishlayapti** yoki **O‘chirilgan** holati ko‘rsatiladi.

Brauzerni ko‘rsatish yoki yashirish uchun Mac’da <kbd>⌘</kbd> <kbd>⇧</kbd> <kbd>B</kbd>, Windows va Linux’da esa <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>B</kbd> tugmalarini bosing. Dvina siz ko‘rmayotgan oynada ishlayotganida **Qurilma** qatorida nuqta paydo bo‘ladi.

### Dvina’ga qurilmadan foydalanishga ruxsat berish

Dvina simulyator yoki emulyatordan birinchi marta foydalanayotganda ruxsat so‘raydi, masalan: **Dvina’ga iPhone 17 Pro’dan foydalanishga ruxsat berilsinmi?** Dvina uning ekranini ko‘radi, shuning uchun unda haqiqiy hisoblaringizga kirmang. **Ruxsat berish** yoki **Rad etish**ni tanlang. Qurilma javobingizni saqlab qoladi, shu sababli boshqa chatda qayta so‘ralmaydi. Ruxsat bermaguningizcha oynada **Dvina’ga undan foydalanishga ruxsat berish** taklif etiladi.

Dvina ishlayotganida oynada **Dvina ushbu qurilmadan foydalanmoqda** deb yoziladi va chatda qurilma jonli ko‘rsatiladi. Kattaroq ko‘rish uchun **Katta ko‘rinishda ko‘rish**ni tanlang. Qurilmada yuborish, to‘lov qilish va o‘chirish amallari har safar tasdig‘ingizni kutadi.

Qurilmadan o‘zingiz foydalanish uchun **Boshqaruvni olish**ni tanlang. Ekranga tegishlaringiz va klaviatura tugmalarini bosishlaringiz qurilmaga uzatiladi. **Bosh ekran**, Android’da esa **Orqaga** va **Oxirgi ilovalar** tugmalarini ham bosishingiz mumkin. Tugatganingizda **Boshqaruvni qaytarish**ni tanlang va Dvina ishini davom ettiradi.

### iOS Simulator’ni sozlash

Agar iOS Simulator sozlanmagan bo‘lsa, uning qatori **iOS Simulator’ni sozlash** nomli tekshiruv ro‘yxatini ochadi. Har bir qadam bajarilgach, hatto uni boshqa joyda bajargan bo‘lsangiz ham, avtomatik ravishda belgilab qo‘yiladi.

1. **Xcode’ni o‘rnatish:** **App Store’ni ochish**ni tanlang. Xcode bepul va hajmi taxminan 7 GB; o‘rnatilgach, uni bir marta oching.
2. **Xcode’ni tanlash:** **Buyruqni nusxalash**ni tanlang va uni Terminal’da bajaring. U parolingizni so‘raydi, shuning uchun Dvina uni hech qachon sizning o‘rningizga bajarmaydi.
3. **iOS simulyatorini qo‘shish:** Xcode’da Settings › Components bo‘limiga o‘ting va iOS’ni yuklab oling yoki buyruqni Terminal’da bajaring.
4. **Qurilma yaratish:** **iPhone yaratish**ni tanlang. Hech narsa yuklab olinmaydi.

### Android Emulator’ni sozlash

Agar Android Emulator sozlanmagan bo‘lsa, uning qatori **Android emulyatorini sozlash** nomli tekshiruv ro‘yxatini ochadi.

1. **Android Studio’ni o‘rnatish:** **Android Studio’ni yuklab olish**ni tanlang. U emulyator ishlashi uchun zarur vositalarni o‘rnatadi; o‘rnatilgach, uni bir marta oching.
2. **Emulyator va platforma vositalarini qo‘shish:** Buyruqni terminalda bajaring yoki ularni Android Studio › SDK Manager orqali qo‘shing.
3. **Apparat tezlashtirishini yoqish:** Windows va Linux’da buyruqni o‘zingiz bajaring, chunki u parolingizni yoki administrator huquqlarini talab qiladi. So‘ng Linux’da tizimdan chiqib, qayta kiring yoki Windows’da kompyuterni qayta ishga tushiring. Mac’da bu qadamda hech narsa qilish shart emas.
4. **Tizim obrazini qo‘shish:** Buyruqni terminalda bajaring yoki Android Studio › SDK Manager orqali tizim obrazini qo‘shing. Yuklab olinadigan fayl hajmi katta.
5. **Emulyator yaratish:** **Emulyator yaratish**ni tanlang. Hech narsa yuklab olinmaydi.

Agar administratoringiz simulyatorlarni o‘chirib qo‘ygan bo‘lsa, qatorlarda **Administratoringiz tomonidan o‘chirilgan** deb yoziladi.

## Istalgan joydan ishlash

Telefoningizdan yoki veb orqali chatda ishni bajarishni so‘rang. Dvina uni kompyuteringizdagi loyihada bajaradi, o‘zgarishlar esa tekshirishingizni kutadi. Kompyuteringiz yoqilgan, Dvina esa ochiq bo‘lishi kerak.

## Qachon foydalanish kerak

- Haqiqiy dasturiy ta’minot ustida ishlayapsiz va barcha ma’lumotlar qo‘l ostingizda bo‘lishini xohlaysiz: qaydlar, qarorlar va o‘tgan oydagi muhokamalar.
- Ish stolingizdan uzoqda bo‘lganingizda biror xato tuzatilishini xohlaysiz.
- Bir nechta o‘zgarish ustida bir vaqtda ish olib borilishini va har biri tekshirishga tayyor bo‘lishini xohlaysiz.

## Maslahatlar

- **Ishlash qoidalaringizni yozib qo‘ying.** Qanday ishlashingizni AGENTS.md yoki CLAUDE.md fayliga yozing, Dvina ularga amal qiladi.
- **Telefonda sinab ko‘ring.** Ilova yaratyapsizmi? Dvina uni iPhone simulyatori yoki Android emulyatorida foydalanuvchilaringiz kabi ekrandagi elementlarni bosib sinab ko‘ra oladi. [Simulyator yoki emulyatorda sinash](#test-on-a-simulator-or-emulator) bo‘limiga qarang.
- **Dasturchi emasmisiz?** Ishlaydigan ilovalar va sahifalar yaratish uchun [Yaratish](/docs/use-dvina/features/create) funksiyasidan foydalaning.

## Aloqador mavzular

- [Loyihalar](/docs/use-dvina/features/projects)
- [Vazifalar](/docs/use-dvina/features/tasks)
- [Kompyuterdan foydalanish](/docs/use-dvina/features/computer-use)
- [O‘rnatish](/docs/use-dvina/get-started/install)
