Hlavní navigace

Názor ke zprávičce Vyšel Python 3.0 od M. Prýmek - > I kdyz u parametru funkce budete deklarovat,...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 5. 12. 2008 13:40

    M. Prýmek
    > I kdyz u parametru funkce budete deklarovat, ze by tam mel byt int, tak je to dobre jen pro kontrolu, zda te funkci nepredavate hodnotu s nekompatibilnim datovym typem, a to muzete udelat i treba pomoci toho dekoratoru.

    Ne. Dekorátor je stále věci runtime. Dá se sice použít jako "signatura", kterou je možné offline kontrolovat, ale to se dá využít i komentář - a opět opakuji - klíčem je, zda signatury mají funkce standardní knihovny. Bez toho je efekt nulový.

    > K tomu co chcete by bylo nutno zavest do Pythonu staticke promenne

    Ne. Viz Objective C: typ "id" znamená "libovolný objekt". Dá se potom přetypovat na konkrétní, třeba NSMutableString, který už dále umožňuje "statickou" kontrolu.

    Prostě a jednoduše "statický" a "dynamický" jsou jen kouzelná slovíčka. V praxi se oba přístupy dají kombinovat a je to efektivní.

    > Ja mu to vycitat samozrejme budu, protoze mi bude hlasit chybu tam kde neni.

    Warning není chyba. Off-line warning není runtime chyba. Warningy se dají potlačit tam, kde je to potřeba. Viz javové "warning possible fall-through" pro chybný case.

    > Zcela uprimne, nez nespolehliva kontrola, to je lepsi zadna kontrola,

    Taky názor.

    > a ze se to resi dukladnym testovanim,

    Runtimové testování nikdy nemůže nahradit testování formální.

    > Pritom prekladacem statickeho jazyka klidne prolezou takveto zverstva

    To je především zvěrstvo C, které se jmenuje "implicitní přetypování" a je to opravdu zvěrstvo.