Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > cz.comp.lang.python > #3286

Re: [python] &soutez :-)

From Honza Král <honza.kral@gmail.com>
Subject Re: [python] &soutez :-)
Newsgroups cz.comp.lang.python
Message-ID <mailman.23.1523969298.27945.python@py.cz> (permalink)
References (7 earlier) <a1df0652-8386-85f4-3c58-c7159ac3ea6b@sandbox.cz> <CAFrUbnkOG13UcfuQsckC4Cn-7a444bHy=n6VY9PkQDYkJGVrww@mail.gmail.com> <CAK9Q5BSVydE-YeOJqYAjE_YjULVc7LYe0_rpg+SxAa8R1bW=Nw@mail.gmail.com> <50f9dd28-d206-2c0a-b616-2ef1e6074a24@sandbox.cz> <CADoCwr1H=YkofkdZ+dnRzmAUsC_gdTn-CsZ7_WZcshScZRxCQg@mail.gmail.com>
Organization usenet-news.net
Date 2018-04-17 14:47 +0200

Show all headers | View raw


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@gmail.com
Phone:  +420 606 678585


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

Back to cz.comp.lang.python | Previous | Next | Find similar


Thread

Re: [python] &soutez :-) Honza Král <honza.kral@gmail.com> - 2018-04-17 14:47 +0200

csiph-web