Junior dasturchi qanday qilib "middle"ga o'tadi

Saqlab olindi !

Junior dasturchi qanday qilib "middle"ga o'tadi

Junior'dan middle darajasiga o'tish ko'pchilik o'ylagandan ko'ra murakkabroq — bu faqat vaqt masalasi emas. Ba'zi dasturchilar 1 yilda o'tadi, ba'zilari 4 yilda ham o'tolmaydi. Farq nima? Va siz qanday tezroq o'tishingiz mumkin?

Junior va middle o'rtasidagi haqiqiy farq

Ko'pchilik o'ylaydi: "Ko'proq texnologiya bilsam, middle bo'laman." Bu to'g'ri emas.

JUNIOR:
— "Bu topshiriq qanday qilinadi?"
— Berilgan vazifani bajaradi
— Bitta yo'l bilan hal qiladi
— Xato bo'lsa, boshqadan so'raydi

MIDDLE:
— "Bu muammo nima uchun paydo bo'ldi?"
— Vazifani o'zi aniqlashtiradi
— Bir nechta yechim ko'radi, birini tanlaydi
— Xatoni o'zi topadi va tuzatadi

1. Kod yozish emas, muammo hal qilishni o'rganish

Junior ko'pincha "qanday qilaman" deb o'ylaydi. Middle "nima qilaman" deb o'ylaydi.

# Junior yondashishi: berilgan vazifani bajarish
def foydalanuvchilar_ro_yxati(db):
    return db.query("SELECT * FROM users")

# Middle yondashishi: muammoni to'liq o'ylash
def foydalanuvchilar_ro_yxati(db, sahifa=1, hajm=20, faqat_faollar=True):
    """
    Foydalanuvchilar ro'yxati.
    Katta ro'yxatlarda sahifalash kerak.
    Faol bo'lmaganlarni ko'rsatish kerakmi?
    """
    offset = (sahifa - 1) * hajm
    shart = "WHERE faol = 1" if faqat_faollar else ""
    return db.query(f"SELECT * FROM users {shart} LIMIT {hajm} OFFSET {offset}")

2. Kodni o'qilishi uchun yozing

Ishlaydigan kod — minimal talab. O'qilishi oson kod — professional daraja.

# YOMON — ishlaydi, lekin tushunish qiyin
def p(u, d):
    return [x for x in d if x['u'] == u and x['s'] > 0]

# YAXSHI — o'qilishi oson
def faol_foydalanuvchi_buyurtmalari(foydalanuvchi_id, buyurtmalar):
    """Berilgan foydalanuvchining faol buyurtmalarini qaytaradi."""
    return [
        buyurtma for buyurtma in buyurtmalar
        if buyurtma['foydalanuvchi_id'] == foydalanuvchi_id
        and buyurtma['status'] > 0
    ]

3. Test yozishni boshlang

Ko'p junior dasturchilar test yozmaydi. Middle esa test yozmasdan kod yozishni tasavvur qilmaydi.

# Oddiy test misoli
def test_faol_buyurtmalar():
    buyurtmalar = [
        {'foydalanuvchi_id': 1, 'status': 1},
        {'foydalanuvchi_id': 1, 'status': 0},
        {'foydalanuvchi_id': 2, 'status': 1},
    ]

    natija = faol_foydalanuvchi_buyurtmalari(1, buyurtmalar)

    assert len(natija) == 1
    assert natija[0]['status'] == 1
    print("Test o'tdi!")

test_faol_buyurtmalar()

4. Code review'dan to'g'ri foydalaning

NOTO'G'RI:
Izoh keldi → tuzatdim → push → tamom.

TO'G'RI:
Izoh keldi → nima uchun shunday yozilgan ekan?
→ To'g'ri yondashuv nima?
→ Kelajakda bu xatoni qilmaslik uchun nima o'rganishim kerak?

Ko'p e'tibordan chetda qoladigan narsalar

  • Git tartibi — commit xabarlari tushunarli, branch'lar aniq bo'lishi
  • Baholash (estimation) — "bu 2 soat" deyish va 2 soatda bajarish
  • Hujjatlashtirish — README, kod izohlari, API tavsifi

Maslahat: O'zingizga shunday savol bering: "Agar men bu loyihadan chiqib ketsam, boshqa dasturchi mening kodimni tushunib ishlata oladimi?" Agar javob "yo'q" bo'lsa — middle darajasiga yetmaganсиз.

+2

👍

+0

❤

+0

😎

+0

💥

+0

👽

+0

😐

+1

👎

Maqola teglari

Abdurahmon Rashidov Dasturlash 89
Facebook Telegram

Bu haftada ko'p o'qildi

Kompyuter tarmoqlarining asosiy turlari

Kompyuter tarmoqlarining asosiy turlari

54039 1321
Umumiy tezkor tugmalar : shortcuts

Umumiy tezkor tugmalar : shortcuts

7437 166
Kesh xotira nima va uning vazifalari

Kesh xotira nima va uning vazifalari

7261 525

Mavzuga oid

Nega ko'p dasturchilar hali ham Git'ni noto'g'ri ishlatadi?

Nega ko'p dasturchilar hali ham Git'ni noto'g'ri ishlatadi?

38 0
2026-yilda O'zbekistonda eng talabgir 15 ta IT kasbi

2026-yilda O'zbekistonda eng talabgir 15 ta IT kasbi

53 0
O'zbekistonda startup boshlash: 2026-yilda nimani yaratish mumkin?

O'zbekistonda startup boshlash: 2026-yilda nimani yaratish mumkin?

37 0