Ano, ted to je již jasnější. Pohybujeme se ve velmi obecné rovině a tak názory mohou být velmi subjektivní. Já osobně v těchto případech to dělám podle toho jak mám čas a chuť. Pokud ani jedno z toho nemám, řeším přesně zadání, které mám, a nezdržují se tím, co by mohlo být, kdyby se něco stalo. Pokud mám obě, piplám věci k dokonalosti, k připravenosti na budoucí požadavky. Nicméně pokud ted vytvoříte program podle současného zadání není žádný problém v budoucnu program rozšířit, či ano? Všechny vnitřní proměnné funkcí můžete kdykoliv předělat na funkce, až to bude třeba. Nebo to můžete již také připravit i ted s tím, že funkce v současném stavu bude vracet jen jednu hodnotu.

Nyní mě napadlo, že byste mohl s výhodou snad využít, pokud byste zvolil objektové řešení, get/set. Dostanete tak funkce, které se tváří jako proměnné. Obecně se jedná o nastavování proměnných na určité hodnoty přes funkci a také získávání jejich hodnot přes funkce, přesto, že vypadají jako proměnné. Více na http://www.py.cz/GetSetProperty a google.

Mnoho zdaru
P.


[email protected] napsal(a), dne 10.2.2009 23:18:
Díky za odpověď. Asi jsem to ve snaze o zobecnění napsal málo srozumitelně. Jde 
mi o to, že počítám hodnotu průtoku a používám k tomu dílčí výpočty 
hydraulického poloměru, průtočné plochy, omočeného obvodu apod. Já samozřejmě 
můžu napsat funkci, která mi ten průtok na pár řádcích spočítá. Jde jen o to, 
že v budoucnosti možná budu potřebovat znát i výsledek toho mezikroku, tzn. 
například průtočnou plochu. Pokud tedy tu funkci na výpočet průtoku rozložím na 
dílčí operace a udělám z nich funkce, můžu v budoucnu zavoláním jedné funkce 
zjistit tu hodnotu průtočné plochy, což asi nejde, je-li to pouze vnitřní 
proměnná nějaké funkce a ne její návratová hodnota. No, a ten průtok můžu 
spočítat pomocí těch již nadefinovaných dílčích funkcí.
Tolik tedy na vysvětlenou. Doufám, že to je trošku srozumitelnější. K půlnoci 
už mi to tolik nemyslí.
VD

------------ Původní zpráva ------------
Od: Pavel Kosina <[email protected]>
Předmět: Re: [python] Struktura modulu - dotaz začátečníka
Datum: 10.2.2009 22:37:03
----------------------------------------
[email protected] napsal(a), dne 10.2.2009 22:16:
Měl bych dotaz ohledně strukturování kódu modulu. řeším teď nějaký hydraulický
problém, kde se počítá průtok v potrubí. Ten je výsledkem postupného určení
určitých charakteristik. Na jejich znalost by ovšem v budoucnu mohl být
požadavek.
Moje dilema je tedy takovéto:
1, můžu pro každý postupný krok nadefinovat funkci a v následných krocích
(funkcích) výpočtu tyto funkce volat
2, můžu definovat každou funkci zvlášť, tzn. bude obsahovat kód potřebný pro
stanovení dané charakteristiky
3, můžu (asi) nadefinovat funkci, která bude počítat všechny potřebné
charakteristika a vracet je jako seznam
Mohu-li soudit z nejasného zadání i vět (např. "Na jejich znalost by ovšem v budoucnu mohl být požadavek. "), řekl bych že 2/ je správně. Asi nejlépe se udržují, což bude pro vás snad důležitější než rychlost, dobře uspořádané funkce. Ještě lepší jsou chytře vymyšlené třídy a metody. At se již rozhodnete jakkoliv pamatujte, že nejkratší kod nebývá nejlepší. Nejlepší kod bývá ten, který je čitelný a opravitelný i po roce. Použijte Python pro sestavení základního přehledného programu, a pokud bude v budoucnu nutno, můžete si pohrát s rychlostí třebas tak, že kritické části napíšete v C, pokud na to budete mít čas a schopnosti.

--
geon
Pavel Kosina

_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem