Nepovinná možnost používání typování v Pythonu není vůbec špatná věc. V
jedno-souborových skriptech nebo malých projektech zřejmě není potřeba
typovat, ale pokud je projekt dostatečně velký a spolupracuje na něm více
lidí tak už je to nezbytnost. Nástorje jakom MyPy pak dokážou odhalit
zákeřné chyby, které by se v silně typovaných jazycích neděly.

Já vidím nepovinné typování jako velkou výhodu a flexibilitu Pythonu. Můžu
v něm psát jednoduché věci jednoduše a složité projekty dostatečně robusně.


pá 16. 5. 2025 v 12:46 odesílatel Honza Javorek <[email protected]>
napsal:

> 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
> <https://groups.google.com/d/msgid/django-cs/CAPAmg-e73kdQE7ONteDBzT5xaO-1aK9dTeAKNN1Vdi15P8M7zQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>


-- 
Jaroslav Beran
pgp: A6EA 1F93 EF6B D8D1 35AD  B6D7 1E79 73E5 1B28 17F9

-- 
-- 
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/CAKG-xtRLyXAtr8%2B0kZzSi6S2%3DZt0YaMc4ScwEAWttQ_KUzDP3w%40mail.gmail.com.

Reply via email to