-
Data: 2011-08-06 23:21:31
Temat: Re: kwestia estetyczna
Od: m...@t...pl szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> On Sat, 06 Aug 2011 22:13:47 +0200, m...@t...pl wrote:
> W dalszym ciagu nie rozumiem co wielowatkowosc ma do rzeczy
Przeciez to proste, nie trzeba wykonywac testow zwiazanych z
synchronizacja watkow, program bez watkow jest prostszy, mniejszy,
mniej trzeba sie w nim troszczyc o estetyke kodu. A moze to
juz chodzi o cos wiecej niz estetyke i styl, moze chodzi o
jakas "systematycznosc".
> Jezeli klamra otwiera sie w linii 100 a zamyka w linii 1000, to
> jedynym sensownym rozwiazaniem jest wyrzucenie programisty z pracy.
> Najlepiej z wilczym biletem.
Ja raczej bym wyrzucal gdy przestali myslec a zaczeli stosowac
jakies "twarde zasady".
> Ja przypomne czasy gdy na pl.comp.objects toczyly sie zazarte
> dyskusje, miedzy innymi o stylu programowania. Z owych czasow, zapewne
> przedpotopowych z punktu widzenia mlodych "miszczow" programowania
> pochodzi zasada: jak metoda nie miesci sie w calosci na ekranie, to
> prawdopodobnie cos spieprzyles z projektem.
Zgadza sie, to oznacza ze prawdopodobnie cos zostalo
spieprzone. Ale projekt o ktorym mowie jest bardzo
staranny. Programowanie to nie matematyka, ze jesli
2 + 2 = 5 to cos na pewno zostalo spieprzone.
Nie zawsze jest wyrazna korzysc z rozbicia jednej
duzej procedury na 20 malych procedur. W duzej
ilosci malych procedur czasami tez mozna odczuc
wrazenie metliku.
Duza procedura o ktorej mowie jest polimorficzna w
wielu klasach. Projekt zostal tak skonstruowany ze
rozszerzenie funkcjonalnosci dodaje sie poprzez
tego typu klase (wyprowadzona z bazowej). Przed
wykonywaniem wlasciwych operacji na danych nastepuje
szereg testow. Testy sa podzielone na kilka logicznych
etapow, ale pomimo to, jeden z etapow testowania bywa
orgomy. Procedury testujace tylko odczytuja dane,
wiec niebezpieczenstwo bledu jest znikome. Procedury
testowe niemal nie pracuja na swoich lokalnych danych,
dane testowe sa przygotowywane przez inne procedury.
Nie ma mowy o zadnym partactwie w projekcie, projekt
jest... okreslilbym wlasnie "systematyczny". Np. w
przypadku wykrycia usterki od razu z duzym
prawdopodobienstwem wiadomo w ktorym pliku sie
ona znajduje i w ktorej procedurze.
Mniej/wiecej mam taki kod:
pusty wiersz
pusty wiersz
/********************************/
/* Komentarz */
tmp = odczyt_danych_1();
if( ! tmp.test_a() ) {
cofniecie transkacji
logowanie bledow
return kod_bledu;
}
/*********************************/
Oczywiscie czasami jest bardziej skomplikowany, ale
najwazniejsze jest to, ze dane loklane sa mocno ograniczone i
jeden test ma praktycznie zerowa mozliwosc wplywu na drugi.
Na 1-2tys linii kodu sa 2-3 zmienne lokalne.
A zreszta po podziele co zrobic? Moze tak:
LacznyTest() {
if( Test1() ) {
if( Test2() ) {
if( Test3() ) {
.............
return 0;
} else
return kod_bledu_N;
} else
return kod_bledu_N-1;
}
...................
} else
return kod_bledu_1;
}
przeciez to jest nadal bagno, trzeba cudu zeby w tych
klamerkach sie nie pogubic. Kluczowe dla czytelnosci
jest:
if( warunek )
akcja();
a nie:
if( warunek )
duzy odstep
akcja();
Od razu widac jaki warunek jest zwiazayn z jaka akcja.
Analogicznie w duzych petlach:
for( ... ) {
if( ) {
if( ) {
if( ) {
}
}
}
}
Przy duzej ilosci if-ow robi sie metlik. Jesli tylko mozna,
to nalezy uproscic przez continue. contiune i return upraszcza,
bo od razu widac ze gdzies pomiedzy zamykajacymi klamerkami
nie ma kodu ktory sie moze wykonac gdy warunek jest nieprawdziwy.
Podczas myslenia nad znaczeniem warunku od razu odrzucamy
czesc kodu petli, albo czesc kodu procedury - jest prosciej,
mamy mniej aspektow do przeanalizowania.
> Zreszta, zalecenei jest aktualne do dzis. Proponuje mala ksiazeczke
> "The Elements of Java Style", Vermuelen i inni, paragraf 69: Define
> small classes and small methods.
> O ile mi wiadomo, ksiazeczka byla wydana po polsku
Dobrze znam ta zasade, jesli widze w danym zastosowaniu
plynace z niej korzysci to ja stosuje. Ba, nawet jesli
nie widze korzysci to ja czesto stosuje - bo bardzo lubie.
Jednak jesli korzysci sa znikome, albo dyskusyjne i jej nie
zastosuje to potem nie cierpie w zaden sposob z powodu
jej braku w projekcie.
Pozdrawiam
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Następne wpisy z tego wątku
- 07.08.11 00:05 A.L.
- 07.08.11 06:15 m...@t...pl
- 07.08.11 08:29 g...@p...onet.pl
- 07.08.11 10:02 m...@t...pl
- 07.08.11 10:03 Wojciech Jaczewski
- 07.08.11 15:06 p...@p...onet.pl
- 07.08.11 15:53 A.L.
- 07.08.11 16:51 A.L.
- 07.08.11 18:27 Paweł Kierski
- 07.08.11 18:35 Paweł Kierski
- 07.08.11 18:45 A.L.
- 07.08.11 19:07 Wojciech Muła
- 07.08.11 20:29 A.L.
- 07.08.11 21:22 m...@t...pl
- 07.08.11 21:35 A.L.
Najnowsze wątki z tej grupy
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
Najnowsze wątki
- 2025-12-29 MON nabyło Hutę Częstochowa. "Historyczne znaczenie"
- 2025-12-28 Czwarta doba strajku na głębokości 500 metrów. "Ministerstwo robi sobie z nas jaja"
- 2025-12-29 Kolejny kraj [WB - przyp. JMJ] zakazuje chowu klatkowego. W Polsce żyje tak 40 mln kur
- 2025-12-29 MON nabyło Hutę Częstochowa. "Historyczne znaczenie"
- 2025-12-28 Norwegia kontra media społecznościowe
- 2025-12-28 PREZENTY OD MINISTRA FINANSÓW. SKĄD PIENIĄDZE?
- 2025-12-27 pompa CO
- 2025-12-27 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-12-27 Ewakuacja ludności
- 2025-12-26 Gdańsk => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-12-26 Kraków => Konsultant Microsoft Dynamics 365 Finance <=
- 2025-12-26 Kraków => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-26 wymieniłem termostat
- 2025-12-26 Warszawa => Senior Backend Java Developer <=
- 2025-12-25 Finlandia przywraca swastykę




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]