TGViewer
Programming ∀ Programming ∀ @programming_everyone · 1.35K subscribers
Post #4273 577
Programming ∀ Haskell yoki Rustga o'xshagan tillarda optional tiplarga duch kelasiz. Imperativ tillardagi NULL o'rniga ko'proq manashunday abstraksiyalar ishlatilinadi. Haskell: Maybe Rust: Option Bu abstraksiyalar bizga optional valuelar bilan ishlagani kerak, imperativ…
Forgejo api bilan ishlaganda manashunday holatlarga duch kelyabmiz.

Muammo nimada ?

Masalan forgejo issue yasagani api bor deylik. Endi tabiyki Issue kimgadir yoki kimlargadir tayinlanishi mumkin.

Forgejoda shular special bo'lib qolgan. Agar siz faqat bir odamga tayinlamoqchi bo'lsangiz shu assigne qilasiz. Agar ko'pchilikga bo'lsa asigness ga berasiz. Bu holatda bunaqa bo'lishi mumkin.

Single.
{
...
"assigneess": [User]
...
}


Single holatida bu field o'zi nullable. Yani assignee qiymati null bo'lishi mumkin.

Multiple:

```

Bu holatda birnechta user bo'lishi mumkin.

Xop diffda ko'ryabsizki buyoqda [User] tipi yana Maybega o'raldi. Buning sababi nima ?

Buning sababi siz empty list of users bera olmaysiz sodda aytsak. [] mumkin emas. Bu albatta null bo'lishi kerak.

Endi nima confuse qilyabti ?

1. Agar man assigneess qiymatiga 1ta itemlik user list bersam validmi ? Agar ha bo'lsa unda nega kerak bu assignee ?

2. Nega bizda 2ta empty case bor list uchun ? Yani bizda null bor va [] bor. Ammo api empty case deb faqat null ni qabul qiladi.

Yechim.

Agar chiroyli design qilish kerak bo'lsa qanday qilgan bo'lar edik ? assigneess qoldiramiz faqat agar [] bu issueni hechkimga tayinlanmaganini bildiradi, qolgan keyslarda esa list of users va hamma baxtli.
  • 😁 1
More from @programming_everyone
  1. Sep 28, 2026mongodb cooked, ceosi survoribti metaga. va stock choq -16% xozir adashmasm 20%gacha tushi…
  2. Sep 26, 2026Masalan hamma cho'qqini zabt etishni istaydi, buning uchun borini berishga xarakat qiladi.…
  3. Sep 26, 2026Kuzatuvlarim davomida shuni tushundimki soft/hard skills kabi mavzular ajratilishi birmunc…
  4. Sep 24, 2026balanced
  5. Sep 23, 2026Yaqinda bo’lgan safarda tog’rda balandlikdan sakrab sirg'anib kettim. Hech qanday jiddiy j…
  6. Sep 23, 2026Leetcode - leetcode competitive programming platform emas. Masalan codeforces, atcoder kab…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →