[python] &soutez :-)

Ales Zoulek ales.zoulek na gmail.com
Úterý Duben 17 14:48:08 CEST 2018


> Ano, svým způsobem to je ekvilibristika, ale založená na pevných a
jednoduchých pravidlech Pythonu. Hodí se to znát, třeba už jen pro případ
čtení cizího kódu.
Je rozdil mezi "znat" a pouzivat. Znat urcite. Ale psat neprehledne nelze
obhajovat tim, ze jini tak nekdy pisi taky.

> Zajímavé na tom je, že na rozdíl od použití složitější funkce jako
urlparse je výraz 'xy'[somebool] zcela safe, řízení zůstává u mě jako u
programátora. Je to o přístupu.
To by me zajimalo. Jak je pouziti stdlibky vic safe, jak si na to vlastni
kod?
Neprijde mi moc stastny chtit ridit implementaci, ktera je jinde vyresena a
tisickrat vyzkousena. (Kdo z vas z hlavy vi, jestli nemuze byt otaznik v
nejaky obskurni URL v jinym kotextu? Treba nejak escapovatny v user:pass
segmentu? Co kdyz URL konci `#anchor_blabla`?) Tohle je trivialni pripad,
ale jak rikas "je to o pristupu". Falesny pocit, ze kdyz si napisu neco
sam, tak to je lepsi, jak pouzit neco hotovyho.

Nepredpokladam, ze core te aplikace lezi v networkingu, tak by se ho nemela
snazit resit. Od toho jsou hotove knihovny (urlparse), ktere to umi a resi
edge case, o kterych mozna ani nevite, ze je nevite.

On Tue, Apr 17, 2018 at 11:02 AM Vláďa Macek <macek na sandbox.cz> wrote:

> Banalita to rozhodně je. :-)
>
> Ano, svým způsobem to je ekvilibristika, ale založená na pevných a
> jednoduchých pravidlech Pythonu. Hodí se to znát, třeba už jen pro případ
> čtení cizího kódu. Zajímavé na tom je, že na rozdíl od použití složitější
> funkce jako urlparse je výraz 'xy'[somebool] zcela safe, řízení zůstává u
> mě jako u programátora. Je to o přístupu.
>
> Taky je fakt, že rozdělení na dva řádky by nikoho nezabilo a umožní bool
> podmínku popsat identifikátorem. Řešení Petra Blahoše se mi líbí.
>
> Čitelnost toho příkazu zhoršuje už samotné reload_redirect['Location'],
> které máme v některých případech vnucené. Jindy ne. Osobně nemám rád
> hranaté závorky. Když to jde, tak i na "indexaci" slovníku používám
> AttrDict. Asi bych nakonec vybral řešení
>
> reload_redirect['Location'] += '&param=1' if '?' in
> reload_redirect['Location'] else '?param=1'
>
> i přes mírné porušení DRY: Volil bych zřejmě jinak v případě, že by nešlo
> o jediný výskyt v projektu a navíc s pevným stringem.
>
> Všichni jsme nadšenci. :-) Děkuju za obohacení.
>
> V.
>
>
> On 15.4.2018 10:16, Petr Messner wrote:
>
> Pro programátora by tohle mělo být čitelné, ale musel jsem se na to pár
> sekund dívat, než jsem si všiml, o co jde. Klíčové je asi uvědomit si, že
> False se chová jako 0 a True jako 1. Dokonce True + True == 2. Pro lidi
> přicházející z C je toto očekávatelné, ale ostatní tohle nemusejí vědět. V
> mých/našich zdrojových kódech bych tohle mít nechtěl.
>
> Asi bych s pojmy typu "opravdový pythonista" nebo "opravdový kód" raději
> vůbec nepracoval. Zrovna Python je jazyk, který má být jednoduchý a
> přístupný pro kohokoliv, i pro skoro-neprogramátory. Na
> https://www.python.org/about/ stojí "is friendly & easy to learn", tak se
> tím můžeme inspirovat a nevymýšlet blbosti :)
>
> Podle mě je celé tohle banalita. Ale jestli to u někoho spouští impostor
> syndrom, tak je to špatný a zbytečný.
>
> PM
>
> Dne 15. dubna 2018 9:30 Jaroslav Vysoký <jaroslav.vysoky na gmail.com>
> napsal(a):
>
>> Nejsem python profesionál, pouze (snad) nadšenec a propagátor, ale fakt
>> by mě zajímalo, jestli je tohle "opravdovými" pythonisty považováno za
>> čitelné. Já jsem to sice nakonec pochopil, a kdyby se podobné konstrukce
>> vyskytovaly v kódu častěji, tak bych si na to jistě i zvykl, ale na první
>> pohled mi to přijde jako ekvilibristika.
>>
>> Jarda V.
>>
>>
>> Dne 14. dubna 2018 21:50 Vláďa Macek <macek na sandbox.cz> napsal(a):
>>
>> Děkuju všem reagujícím. :-)
>>>
>>> Taky bych asi v tomto případě neparsoval a nedělal funkci, pokud je to
>>> jednoúčelový řádek s fixním parametrem a je to v projektu jednou.
>>>
>>> Tohle mám za docela čitelný:
>>>
>>> reload_redirect['Location'] += '?&'['?' in reload_redirect['Location']] +
>>> 'param=1'
>>>
>>> Hezký večer,
>>>
>>> V.
>>>
>>> _______________________________________________
>>> Python mailing list
>>> python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>>
>>> Visit: http://www.py.cz
>>>
>>
>>
>> _______________________________________________
>> Python mailing list
>> python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>> Visit: http://www.py.cz
>>
>>
>
>
> _______________________________________________
> Python mailing listpython na py.czhttp://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
>
> --
> Vláďa Macek | +420 608 978 164 <608%20978%20164> | Please consider printing this message.
>
> Aktuální nabídka: Školení Python+Django v Libercihttps://www.scripteo.cz/skoleni/skoleni-python-a-django.html
>
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20180417/597fea1e/attachment.html>


Další informace o konferenci Python