[python] &soutez :-)

Vláďa Macek macek na sandbox.cz
Úterý Duben 17 11:02:44 CEST 2018


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
> <mailto: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
>     <mailto: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 <mailto:python na py.cz>
>         http://www.py.cz/mailman/listinfo/python
>         <http://www.py.cz/mailman/listinfo/python>
>
>         Visit: http://www.py.cz
>
>
>
>     _______________________________________________
>     Python mailing list
>     python na py.cz <mailto:python na py.cz>
>     http://www.py.cz/mailman/listinfo/python
>     <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


-- 
Vláďa Macek | +420 608 978 164 | Please consider printing this message.

Aktuální nabídka: Školení Python+Django v Liberci
https://www.scripteo.cz/skoleni/skoleni-python-a-django.html

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20180417/03ac2d57/attachment.html>


Další informace o konferenci Python