Portál AbcLinuxu, 8. května 2025 00:48
Kdepak, budoucnost je v heliu!
$result = "";Proste asi deset trivialnich ifu hned za sebou. V tomto pripade je pouziti tohoto zpusobu zapisu naprosto v poradku (jinak je to IMHO parasarna). Pokud se nepletu, v Pythonu bych na to potreboval 3x tolik radku. IMHO se pri diskusich o citelnosti a prehlednosti kodu casto zapomina na to, ze jednim z nejdulezitejsich faktoru je delka kodu. V tomto Python casto ztraci.
if($a == 5) $result .= "A"; if($a > $c) $result .= "B"; if(strlen($d) == 0) $result .= "C";
result = "" if a == 5: result += "A"; if a > c : result += "B"; if len(d) == 0: result += "C";
list<Trieda> zoznam;
netuším, čo mi vráti zoznam.begin();
? Kedysi boli šablóny pre dopĺňanie horor - pretože sa s nimi dajú robiť rôzne kraviny a proste parsery boli dosť biedne, ale teraz už máme nástroje ako clang, ktoré to hravo zvládnu. Mimochodom ako zistím v kóde def funkcia(nejakyArgument):
akého typu je nejakyArgument? Žiaden superiteligentný parser mi nezistí akého typu to bude kým sa program nespustí. Okrem toho nemám istotu, že pri ďalšom spustení bude zase toho istého typu.
Blbosť, u šablón človek vie, aký typ obsahujú v dobe prekladu. Alebo mi niekto chce nahovoriť, že uNemyslím, že je to blbost. Když to ví (při běhu) interpret pythonu tak se to určitě dá udělat přinejmenším tak, že by se to spustilo. Navíc vzhledem k duck typingu si nemyslím, že by byl takový problém prostě odfiltrovat to, co danému typu neodpovídá.list<Trieda> zoznam;
netuším, čo mi vrátizoznam.begin();
? Kedysi boli šablóny pre dopĺňanie horor - pretože sa s nimi dajú robiť rôzne kraviny a proste parsery boli dosť biedne, ale teraz už máme nástroje ako clang, ktoré to hravo zvládnu. Mimochodom ako zistím v kódedef funkcia(nejakyArgument):
akého typu je nejakyArgument? Žiaden superiteligentný parser mi nezistí akého typu to bude kým sa program nespustí. Okrem toho nemám istotu, že pri ďalšom spustení bude zase toho istého typu.
def foo(param): # @type param str ... ...Netbeans pak automaticky doplnuje metody u vestavenych typu i vlastnich trid. Problem vsak samozrejme nastava, pokud si dynamicky za behu pridavate nove metody tridy - na to uz je doplnovani kratke. Zalezi tedy na ukaznenosti programatora. (ve smyslu spis "Ceckar" nez rozezny "skriptak)
#!/usr/bin/env python import sys s = "ahoj" if len(sys.argv)>1: s = 123; @@@ print sMuzete s jistotou rict, jakeho typu bude promenna 's' v miste oznacenem '@@@'?
def foo(param): param ### tadyVzdejte to, v Pythonu, vzhledem k jeho podstate, automaticke doplnovani udelat nejde
hmm a co by se melo doplnit v tomhle pripade?Cokoliv, protože tam cokoliv být může.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.