[python] &soutez :-)

Honza Král honza.kral na gmail.com
Úterý Duben 17 14:47:53 CEST 2018


Tady se slusi upozornit na nekolik veci:

neznam zadny team python programatoru kde by konstrukce spolehajici se
na pristup do retezce na zaklade bool hodnoty prosla code review, ja
to videt v nejakem projektu tak okamzite otviram ticket protoze to se
proste nedela, je to necitelne.

Testovani na pritomnost '?' v URL neni zadna zaruka niceho, muze se to
rozbit na spoustu zpusobu, napriklad:


http://user:he?slo@localhost:80

https://server.com#whatever?and_anything_else


A ne, u zadneho code review bych nepripustil argument, ze "to se u
nasich url stat nemuze". Kod ktery se spoleha na special cases je
spatne, o tom nemuze byt diskuze.

Honza Král
E-Mail: honza.kral na gmail.com
Phone:  +420 606 678585


2018-04-17 11:02 GMT+02:00 Vláďa Macek <macek na sandbox.cz>:
> 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 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
>
>
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>


Další informace o konferenci Python