-
41. Data: 2011-08-10 14:41:37
Temat: Re: kwestia estetyczna
Od: Wojciech Muła <w...@p...null.onet.pl.invalid>
On Sun, 07 Aug 2011 20:35:34 +0200 Paweł Kierski <n...@p...net>
wrote:
> > Kiedyś, przy bardziej "dzikiej" logice sterowania, gdzie warunków
> > było niewiele, jednak różnych kombinacji sporo, to najpierw
> > kodowałem każdy warunek na osobnym bicie, a później instrukcją
> > switch obsługiwałem kombinacje. W stosunku do wersji z if/else było
> > 10x lepiej.
>
> Jak mi się takich warunków zaczyna mnożyć, to staram się zapisać
> tablice Karnaugha. Zazwyczaj na tym etapie porządkuje mi się, co
> tak naprawdę ten potencjalny gąszcz if'ów miał wyrażać i zostają
> 2-3 kolejne if'y z - o zgrozo! - więcej niż jednym punktem wyjścia
> z funkcji.
Ja to zostawiam kompilatorowi, niech się męczy. :)
AFAIK gcc robi jakieś "czary" w instrukcji switch.
w.
-
42. Data: 2011-08-10 18:23:58
Temat: Re: kwestia estetyczna
Od: "R. P." <r...@w...to.wp.pl>
Waldek M. wrote:
> Dnia Mon, 08 Aug 2011 16:35:13 -0500, A.L. napisał(a):
>
>> On Mon, 8 Aug 2011 21:51:56 +0200, "Waldek M."
>> <w...@l...localdomain> wrote:
>
>>>> Niestety, nawet w Ameryce praca nie sprowadza sie do ciecia kodu. Ale
>>>> tu sie kodu nie "tnie". Tu sie projektuje porzadnie. Od samego
>>>> poczatku.
> [...]
>> Reszta "argumentow" rownie imponujaca jak otwarcie.
> Nooo.. bo Twoich argumentów było mnóstwo i miały rzeczowe
> pokrycie w faktach.
>
>> Zapewnia Koledze doczesne miejsce w moim KF
> Zdaje się, że należę do większości, a jeśli już nawet
> Seweryna tam wysłałeś, to w pewien sposób jest to dla mnie
> nobilitacja :-)
> Ciekaw jestem tylko, po co subskrybować grupę, jeśli potem
> kolejno wrzuca się ludzi do KF. Taki publiczny blog,
> gdzie można napawać się swoją fachowością i tym,
> jak to w Hameryce cudnie?
Waldek, nie przejmuj sie. A.L. gada o KF, ale i tak moim zdaniem nikogo
do niego nie wrzuca :) Kiedys cos mowil o tym ze ma tygodniowy,
miesieczny, roczny i dozywotni KF. Wg mnie to zwykle pierdolenie :) Jak
to nazwales slusznie "srali muchi bedzie wiosna" :)
-
43. Data: 2011-08-12 13:37:11
Temat: Re: kwestia estetyczna
Od: p...@p...onet.pl
(bol glowy (nadcisnienie jakby) troche mi zelzal,
ale nie do konca - a koszmarne cwoki glownie w postaci
debilnych pseudolekarzy itp nadal stanowia chamówowy
mur nie do przebicia)
> ...ameryce...
w ameryce zrobili jeszcze jedna dobra rzecz poza (hot sauce commeetee part 2)
minaowicie serial 'october road' nadawany sroda czwartki piatki o 13:25,
jestem jak to nieraz mowilem duzym fanem kobaina i kultury grunge'u
i wlasnie taka ameryka jaka widze w tym serialu podoba mi sie jak
cholera (tj serial daje pewne wytchnienie mojemu steranemu ja),
Massachusetts? gdzie to jest?
fir (grunge fighter)
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
44. Data: 2011-08-12 18:28:18
Temat: Re: kwestia estetyczna
Od: "slawek" <s...@h...pl>
Uzytkownik "A.L." <l...@a...com> napisal w wiadomosci grup
dyskusyjnych:ufov371lh4cvq6tudbccn71ruiachbjoat@4ax.
com...
> Ale ja bardzo przeparszam. Ja predzej uwierze ze w Smolensku byl
> zamach niz ze:
>
> a) procedura dluga na 1000 linii to jest porzadny projekt,
Przypominam, ze np. w Pascalu procedura zawierac moze podprocedury, a w ten
sposób latwo 1000 linii przekroczyc.
> b) ze taka procedura jest czytelna i latwa do zrozumienia
Czytelnosc nie jest liniowa funkcja wylacznie dlugosci kodu, gdyz 1000 linii
trywialnie rozwinietej petli moze byc calkiem czytelne - choc nudne.
I odwrotnie: 100 linii kodu z GOTO plus nieznajomosc zagadnien, które
procedura rozwiazuje - sa gwarancja dobrej zabawy na dluzej.
-
45. Data: 2011-08-12 18:55:27
Temat: Re: kwestia estetyczna
Od: p...@p...onet.pl
>
> Uzytkownik "A.L." <l...@a...com> napisal w wiadomosci grup
> dyskusyjnych:ufov371lh4cvq6tudbccn71ruiachbjoat@4ax.
com...
> > Ale ja bardzo przeparszam. Ja predzej uwierze ze w Smolensku byl
> > zamach niz ze:
> >
> > a) procedura dluga na 1000 linii to jest porzadny projekt,
>
> Przypominam, ze np. w Pascalu procedura zawierac moze podprocedury, a w ten
> sposób latwo 1000 linii przekroczyc.
>
> > b) ze taka procedura jest czytelna i latwa do zrozumienia
>
> Czytelnosc nie jest liniowa funkcja wylacznie dlugosci kodu, gdyz 1000 linii
> trywialnie rozwinietej petli moze byc calkiem czytelne - choc nudne.
>
> I odwrotnie: 100 linii kodu z GOTO plus nieznajomosc zagadnien, które
> procedura rozwiazuje - sa gwarancja dobrej zabawy na dluzej.
>
Mz tysiac to przyduzo (zwykle i 'jak na funkcje' bo
jesli chodzi o kawalek kodu to 1000 linijek to nie jest
duzo - jak kiedys pisalem mz okolo tysiaca czy
troche wiecej to mz byc moze idealny rozmiar na
'maly modul', ('przestrzen'), - odzielny plik ze zrodlem
z kolej wspominane tu 20/30 liniejek to za malo, sam
pisze raczej drobne funkcje i wiekszosc sie byc moze
nawet miesli ale jest sporo takich ktore sa zwarte i
robia jedna rzecz ale zajmuja np 200 linijek
nie chce mi sie szukac przykladow ale dajmy na to
np algorytm bressenhama w wiki ma ok 80 linijek -
i co nalezy wycinac spacje czy dzilic go na dwa
albo trzy zeby sie zmiescil? raczej nie
pozatym wezmy takie przypadki jak cos podobnego do
wndProc() albo spore switche - to tez nalezaloby dzilic?
raczej nie
wogole to temat nie wydaje mi sie szczerze mowiac za
bardzo ciekawy czy rozwojowy - osobiscie wolalbym pogadac
o czyms chocby z GPU albo MT ewentualnie (multithreading
to tez topic o ktorym bedzie trzeba jeszcze pogadac)
albo w kazdym razie o czyms o czym malo wiem - no ale to
w sumi nie moja dyskusja o tych dlugoscich funkcji
tak sie tylko wtracilem :-/
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
46. Data: 2011-08-12 19:08:54
Temat: Re: kwestia estetyczna
Od: "slawek" <s...@h...pl>
Uzytkownik "A.L." <l...@a...com> napisal w wiadomosci grup
dyskusyjnych:ed70475rcne7dblito7dr9lcir4b165g6c@4ax.
com...
> Owszem. To bylo bardzo dawno. Sam osobiscie, w GWBASIC napisalem
> program skladajacy sie z ciurka prawie 10 tysiecy linii. Ale GWBASIC
> nie mial procedur.
Jestes pewien, ze nie mial GOSUB/RETURN ? ;)
Tu masz manual http://www.o-bizz.de/qbtuts/gw-train/index.htm#5
> Nawet w COBOLU i Fortranie czasy 100 stronicowych procedur dawno
> minely.
Mylisz sie. Jest taki program w Fortranie, obrzydliwy, ponad 1000 linii
ciurkiem, bez procedur. Pisal autentyczny Chinczyk, utalentowany. Uzywane to
jest do Bardzo Powaznych Rzeczy. Syf. Nikt (kto troche sie zna na
programowaniu) nie chce sie tego ruszac. A styl ma taki:
write(6,2143)
read(5,99) a(1,1)
write(6,2144)
read(5,99) a(1,2)
...
Jakbys nie zgadl, to powyzej masz czytanie macierzy a, o rozmiarze 10x10, z
"promptami" w rodzaju "a(1,1) = ?" .
Tak, w ten prosty sposób w programie jest 3x10x10 linijek, czyli 900 linii -
i to na czytanie jednej macierzy. A jest jeszcze druga taka ;)
Z drugiej strony "obliczenia" które program robi, to pare operacji na
tensorach, daloby sie zwiezle zapisac. Lecz do skumania co to za tensory
itd. - potrzeba wgryzc sie gleboko. Nikomu nie chce sie przez pól roku
siedziec nad takim debilstwem. Przynajmniej mi sie nie chcialo. Wiec to cudo
(napisane juz w tym tysiacleciu) ma sie dobrze.
> Problem zas generalny jest taki ze "miszcze porogramowania" uwazaja ze
> obiektowosc oferowana pzrez jezyki to tylko triki programistyczne
> ulatwiajace (a raczej na ogol gmatwajace) pisanie kodu. Mysia zas
> ciagle tymi samymi kategoriami ktorymi myslalo sie w czasach GWBASICa.
Jest gorzej. Jemzyki LoLoPe daja im mozliwosc paprania znacznie lepiej, niz
do tej pory mogli to robic w GWBASIC i BASICA.
-
47. Data: 2011-08-12 19:20:15
Temat: Re: kwestia estetyczna
Od: "slawek" <s...@h...pl>
Użytkownik "A.L." <l...@a...com> napisał w wiadomości grup
dyskusyjnych:b9dt37h23vd6jlon95q2gna30pie97tqdb@4ax.
com...
> Owzm, goto jest uzyteczna. Tak samo jak schodki w rakietach. Jak
> mawial Osla Laczka, nauczyciel Pirxa: "schodki sa potrzebne dla
> umierajacych atronautow"
Nie zgodzę się, goto bywa przydatne. Raz na dwa-trzy lata. Ewentualnie raz
na 5-6 lat. A może raz na 20 lat...
Przykład nieszczególny podałeś - w czasie Pierwszego Podobno Prawdziwego
Lądowania na Księżycu... jednak po schodkach.
-
48. Data: 2011-08-12 20:37:36
Temat: Re: kwestia estetyczna
Od: "Marszalkowski" <m...@t...pl>
> Mz tysiac to przyduzo (zwykle i 'jak na funkcje' bo
> jesli chodzi o kawalek kodu to 1000 linijek to nie jest
> duzo - jak kiedys pisalem mz okolo tysiaca czy
> troche wiecej to mz byc moze idealny rozmiar na
> 'maly modul', ('przestrzen'), - odzielny plik ze zrodlem
No ja wiem że to jest bardzo dużo jak na procedurę. Policzyłem
ile mam wierszy w innym projekcie i rzadko mam powyżej 10. Aż
sam się zastanawiam dlaczego w tym projekcie nie zamierzam
uprościć tych procedur po 1-2tys wierszy. A takich dużych procedur
mam sporo. Może dlatego że one realizują zawsze zadanie tego
samego typu i prościej jest mieć jedną dużą procedurę niż
30 małych?
Pozdrawiam
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
49. Data: 2011-08-12 21:05:37
Temat: Re: kwestia estetyczna
Od: "fir" <p...@p...onet.pl>
>
> > Mz tysiac to przyduzo (zwykle i 'jak na funkcje' bo
> > jesli chodzi o kawalek kodu to 1000 linijek to nie jest
> > duzo - jak kiedys pisalem mz okolo tysiaca czy
> > troche wiecej to mz byc moze idealny rozmiar na
> > 'maly modul', ('przestrzen'), - odzielny plik ze zrodlem
> No ja wiem że to jest bardzo dużo jak na procedurę. Policzyłem
> ile mam wierszy w innym projekcie i rzadko mam powyżej 10. Aż
> sam się zastanawiam dlaczego w tym projekcie nie zamierzam
> uprościć tych procedur po 1-2tys wierszy. A takich dużych procedur
> mam sporo. Może dlatego że one realizują zawsze zadanie tego
> samego typu i prościej jest mieć jedną dużą procedurę niż
> 30 małych?
> Pozdrawiam
mz nie musisz dzielic - nie powinienem sie powtarzac ale
kiedys pisalem o rozroznieniu i ew slowie kluczowym w c
jak 'once' albo 'solid' oznaczajace te funkcje ktore maja
tylko jednago parenta i sa niejako wydzielone nie z
fizycznej potrzeby a dla tego by poformatowac kod na
kawalki - takie powydzialanie oczywiscie ISTOTNIE UTRUDNIA
czytelnosc kodu bo czytelnik widzac wydzielona funkcje
nie wie ze ma ona tylko jednago parenta (slowko 'once'
w naglowku by troche pomoglo). Sam akurat zwykle
dziele na male funkcje ale jak mowie zauwazylem ze
takie wydzielanie bez potrzeby pogarsza czytelnosc kodu
(bo tak naprawde zeby go zanalizowac (jesli
nie jest w jakis inny sposob oczywisty i wymaga analizy)
trzebeby odtwarzac graf wywolan i poszukiwac co wywoluje
co. Mozna tez rozwazyc nie wydzielnaie funkcji ale
dzieleni ich komentarzami na bloki czasem tak pisalem
w stylu
main()
{
/* wczytaj bitmape
*/
tu kilkanasci linijek kodu
/* transformuj
*/
tu kilkanascie liniejek kodu
/* zapisz do pliku
*/
tu kilkanasci linijek kodu
}
nie ma rozdrabniania drzewka wywolan a jest podzial
na bloki (jak mowie realnie sie tymi sprawami az tak nie
przejmuje bo jest duzo innych spraw ale takie sa moje
spostrzezenia ntt)
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
50. Data: 2011-08-12 22:53:35
Temat: Re: kwestia estetyczna
Od: m...@t...pl
> nie ma rozdrabniania drzewka wywolan a jest podzial
> na bloki (jak mowie realnie sie tymi sprawami az tak nie
> przejmuje bo jest duzo innych spraw ale takie sa moje
> spostrzezenia ntt)
Chyba o to właśnie chodzi. Logiczne bloki są, a to jest
najważniejsze. A że nie są w funkcjach, to widocznie
nie jest szczególnym problemem.
Pozdrawiam
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl