Mě se nejvíc líbí, jak s tím jde natypovat data, třeba pomocí pydantic, a hlídá mi to pak, jestli tam mám to, co čekám, že tam mám. Jinak je mi to spíš fuk a takové ty akrobacie taky nemám rád. Občas jsem je přidal, aby mi editor napovídal složitější objekty skrz nějaký dekorátor, ale byl to strašný oser a kdyby mi s tím nepomohl Copilot, tak to ani nevytvořím. Připadal jsem si jak v Haskellu, hlavně ty chybové hlášky, co z toho padaly když to bylo blbě, mi nikdy nic neřekly a byly super zamotaný.
Trochu pomáhá, když se ty věci pojmenujou. Takže tam pak není company: dict[str, dict[list[int]] | tuple | str | int] apod. (to jsem si teď vymyslel), ale udělá se někde bokem Company = dict[str, dict[list[int]] | tuple | str | int] a pak se dá napsat company: Company a ještě se to dá použít na víc místech. Tohle pak hodně zpřehledňuje to čtení kódu. Ale kdo to dělá, že? Asi je to jak se vším. Je to jenom nástroj, do kterýho se můžu zamotat a nasolit to bezhlavě všude, nebo si s ním občas nějak pomoct. Blbý samozřejmě je, když to neovlivním a musím číst kód v nějaké knihovně, kde to je všude a je to dlouhý a nepřehledný. HJ On Fri, May 16, 2025 at 11:14 AM Jirka Vejrazka <[email protected]> wrote: > Jojo, tuhle jsem koukal na nejakou dokumentaci k nejakemu balicku a rikal > jsem si "tohle vypada presne jako Java, 70% popisu argumentu je vizualni > omacka, kterou musim preskocit"). Ja chapu, ze to par procent lidi nekde > vyuzije, ale z Pythonu, ktery se driv cetl skoro jako anglictina, se stava > nesrozumitelny gulas :( > > On Fri, 16 May 2025 at 09:00, starenka . <[email protected]> wrote: > >> ja budu nekonstruktivni: je mi soufl z toho, jak lidi utekli z javy a >> .net k pythonu a ted se ho snazi aktivne zk***it temahle obludariama. pulku >> definici fuknci uz nejsem schopnej ani rozlustit, protoze je to union union >> union blah. soubory maj tisice radku jen kvuli temhle onucim, ktery stejne >> k nicemu nejsou, protoze lidi nepouzivaj mypy. jestli to takle pujde dal, >> zacnu se po 20 letech poohlizet po novym jazyce. >> >> On Wed, May 14, 2025, 14:16 Radim Novotny <[email protected]> >> wrote: >> >>> Ahoj, >>> >>> VSCode s Django používám už dlouho, neřeším ale 100% type checking, >>> protože s Djangem to je komplikovanější. Nevím o ničem jiném, než >>> django-stubs, ale nepoužívím to. Jsem rád za to, že mi ukáže nedefinovanou >>> proměnnou nebo špatně ukončený string :) >>> >>> Kolega se o to chvilku snažil, ale je to fakt dost komplikované a >>> otravné. Jednodušší příklad: >>> >>> class MarkItem(models.Model): >>> MarkItemId = NewType('MarkItemId', int) >>> id: MarkItemId >>> pk: MarkItemId >>> score_set: 'models.Manager[Score]' >>> >>> Pustil se i do složitějších struktur, ale je to neudržovatelné. To by >>> chtělo jednoho extra člověka jen na to, ale ten by z toho za chíáli asi >>> zblbnul. >>> Já se snažím definovat alespoň základní typy proměnných nebo parametrů, >>> nebo typ návratové hodnoty. >>> >>> Co se týká AI, tak ve VSCode používám občas chat s Claude 3.7 Sonet >>> modelem a nebo ChatGPT o1. Určitě to pomáhá, i v Django, ale je potřeba ho >>> pořád kontrolovat. Občas je to super, že člověk jen mačká Tab a ono to píše >>> přesně to co bych potřeboval :) Na druhou stranu, občas je ai-autocomplete >>> otravné, až nebezpečné, když zapisuju nějaká čísla a on mi tam háže nějaké >>> náhodné návrhy :) >>> Modely nemám ale porovnané, nedokážu říct, který je lepší nebo horší. >>> >>> Radim >>> >>> On Wed, 14 May 2025 at 13:49, Honza Javorek <[email protected]> >>> wrote: >>> >>>> Ahoj, >>>> >>>> v nějakém tom základním Python doplňku pro VS Code přímo od MS je >>>> zabudovaný (taky jejich) pyright, který hlídá typy. Ani pylance, ani pylint >>>> jsem neinstaloval, na lintování a přeformátování kódu používám kdyžtak >>>> ruff. Jestli si to rozumí s Djangem ale vůbec nevím, protože Django nedělám >>>> :D >>>> >>>> Jinak mám GitHub Copilot přímo, ale že by to byla nějaká bomba, nevím. >>>> Lidi si chválí Cursor, což je fork VS Code s agentním modelem, takže může i >>>> vytvářet soubory atd., ale byl jsem líný to zatím zkoušet. Trochu doufám, >>>> že to MS dožene a udělá to pro GitHub Copilot taky, takže nebudu muset nic >>>> měnit, zkoušet, a budu pořád dál platit jen tu jednu věc. >>>> >>>> HJ >>>> >>>> On Wed, May 14, 2025 at 1:45 PM Vladimír Macek <[email protected]> >>>> wrote: >>>> >>>>> Ahoj, >>>>> >>>>> v této konferenci už moc velký provoz není, ale přesto se zkusím >>>>> zeptat. >>>>> >>>>> 1. >>>>> >>>>> Nedávno jsem z osobních důvodů přešel z PyCharmu na VS Code a spousta >>>>> věcí se mi na tom líbila. Na Django projektech však hodně používám >>>>> *typovou >>>>> kontrolu* a přizpůsobuju tomu i zdrojáky. >>>>> >>>>> Snažím se potlačovat co nejmíň warningů. Nainstaloval jsem vedle >>>>> Pylint i *Pylance extension*, aby mě prudil. Umí toho hodně a dobře, >>>>> ale... >>>>> >>>>> - Django má některé magické vlastnosti, jako že přidá k modelům id >>>>> typu AutoField. Statická kontrola kódu pak křičí, že .id atribut >>>>> neexistuje. >>>>> >>>>> - Nebo neví, že atribut instance z IntergerFieldu je typu int. >>>>> >>>>> - Nebo křičí, že neexistuje metoda modelu get_<field>_display(), >>>>> když mám choice-type field a Django tuto metodu dynamicky přidá. >>>>> >>>>> - QuerySety jsou samostatná kapitola. :-) >>>>> >>>>> Máte nějak funkčně *ošéfováno, že váš VSCode nekřičí a dokonce chápe >>>>> tyto a další Django-specific prvky* vč. jejich typů? >>>>> >>>>> Čtu, že to má snad řešit django-stubs v souběhu s konfigurací v >>>>> pyproject.toml. To mám, ale buď mi to nefunguje (a ani nekřičí) nebo tyto >>>>> věci neumí... >>>>> >>>>> Povedlo se to někomu z vás tak, že jste spokojeni? >>>>> >>>>> 2. >>>>> >>>>> Co používáte ve *VS Code na AI-assisted vývoj*? LLM autocomplete je >>>>> super. Ke kterému extension jste dokonvergovali, jaký podkladový LLM >>>>> používate a je placený? >>>>> >>>>> Z těch co jsem zkusil u mě vydržel Supermaven, ale používám z něj málo >>>>> a vývoj je jistě dál. Tak uvítám tip. >>>>> >>>>> -- >>>>> >>>>> Děkuji. S pozdravem >>>>> Vladimír Macek | +420 608 978 164 >>>>> >>>>> -- >>>>> -- >>>>> E-mailová skupina [email protected] >>>>> Správa: http://groups.google.cz/group/django-cs >>>>> --- >>>>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny >>>>> „django-cs“ ve Skupinách Google. >>>>> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, >>>>> zašlete e-mail na adresu [email protected]. >>>>> Tuto diskuzi najdete na adrese >>>>> https://groups.google.com/d/msgid/django-cs/ea2173d0-6b73-6f04-1011-805517c73858%40sandbox.cz >>>>> <https://groups.google.com/d/msgid/django-cs/ea2173d0-6b73-6f04-1011-805517c73858%40sandbox.cz?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>>> -- >>>> E-mailová skupina [email protected] >>>> Správa: http://groups.google.cz/group/django-cs >>>> --- >>>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny >>>> „django-cs“ ve Skupinách Google. >>>> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, >>>> zašlete e-mail na adresu [email protected]. >>>> Tuto diskuzi najdete na adrese >>>> https://groups.google.com/d/msgid/django-cs/CAPAmg-eJwKbifQ_DbvCkX1JuXzPgUHv%2B0rr7Zr99XEC4i_KLJQ%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/django-cs/CAPAmg-eJwKbifQ_DbvCkX1JuXzPgUHv%2B0rr7Zr99XEC4i_KLJQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >>> -- >>> E-mailová skupina [email protected] >>> Správa: http://groups.google.cz/group/django-cs >>> --- >>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny >>> „django-cs“ ve Skupinách Google. >>> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, >>> zašlete e-mail na adresu [email protected]. >>> Tuto diskuzi najdete na adrese >>> https://groups.google.com/d/msgid/django-cs/CADDKcsv5vcHH3AJZQrniqZAcv7zTNpKJzGnc6n%2B4RS4Qyj6veQ%40mail.gmail.com >>> <https://groups.google.com/d/msgid/django-cs/CADDKcsv5vcHH3AJZQrniqZAcv7zTNpKJzGnc6n%2B4RS4Qyj6veQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> -- >> E-mailová skupina [email protected] >> Správa: http://groups.google.cz/group/django-cs >> --- >> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny >> „django-cs“ ve Skupinách Google. >> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, >> zašlete e-mail na adresu [email protected]. >> Tuto diskuzi najdete na adrese >> https://groups.google.com/d/msgid/django-cs/CA%2B7MNVp6qc5j3k0aSY%2B89OEz7EGgVE9ZZEQMkXCgarg_4wnP2w%40mail.gmail.com >> <https://groups.google.com/d/msgid/django-cs/CA%2B7MNVp6qc5j3k0aSY%2B89OEz7EGgVE9ZZEQMkXCgarg_4wnP2w%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > -- > E-mailová skupina [email protected] > Správa: http://groups.google.cz/group/django-cs > --- > Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny > „django-cs“ ve Skupinách Google. > Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, > zašlete e-mail na adresu [email protected]. > Tuto diskuzi najdete na adrese > https://groups.google.com/d/msgid/django-cs/CAFhEBEBvxX5sfEX5pPJLBLskGmX5NGCDcH0dyOXY2yEyVpjb6w%40mail.gmail.com > <https://groups.google.com/d/msgid/django-cs/CAFhEBEBvxX5sfEX5pPJLBLskGmX5NGCDcH0dyOXY2yEyVpjb6w%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- -- E-mailová skupina [email protected] Správa: http://groups.google.cz/group/django-cs --- Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs ve Skupinách Google. Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu [email protected]. Tuto diskuzi najdete na adrese https://groups.google.com/d/msgid/django-cs/CAPAmg-e73kdQE7ONteDBzT5xaO-1aK9dTeAKNN1Vdi15P8M7zQ%40mail.gmail.com.
