Aktywne Wpisy
MishMashStudio666 +625
Na specjalne życzenie pewnego przesympatycznego Mireczka popełniłem o to taki pierścionek. Wytyczne były takie by kamień był niebieski i wpadający w zieleń (upolowałem szafir), towarzystwo diamentów (umieściłem) oraz dość filigranowa konstrukcja. Zadanie tość trudne bo kamień dość głęboki i trzeba go osadzić wysoko by swoim szlifowanym spodem nie wbijał się w palec wybranki😉
Życzę wszystkim miłego dnia i pysznej kawusi
#rozowepaski
#niebieskiepaski
#zareczyny
#jubilerstwo
#pierscionek
#mishmashstudio666
Życzę wszystkim miłego dnia i pysznej kawusi
#rozowepaski
#niebieskiepaski
#zareczyny
#jubilerstwo
#pierscionek
#mishmashstudio666
aptitude +15
Kochacie swoje córki? No to do dzieła, ono będą jak my, policjanci :D
Moja córka ma 8msc. ale usłyszałem, że kocha policję <3
Nie mówcie, że jestem jajkiem :D
#policja
Moja córka ma 8msc. ale usłyszałem, że kocha policję <3
Nie mówcie, że jestem jajkiem :D
#policja
Aktywne Znaleziska
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
Błakając się po internecie trafiłem na gościa, który stwierdził, że w programowaniu obiektowym w tym w javie powinno się uzywać zasady SESE (Single Entry, Single Exit). Polskich materiałów nie znalazłem na ten temat. Czy ktoś może powiedzieć czy jest w ogóle używane i dodatkowo kilka słów więcej?
double getPayAmount() {
double result;
if (_isDead) result = deadAmount();
else {
if (_isSeparated) result = separatedAmount();
else {
if (_isRetired) result = retiredAmount();
else result = normalPayAmount();
};
}
return result;
};
i z użyciem SESE
double getPayAmount() {
if (_isDead) return deadAmount();
if (_isSeparated) return separatedAmount();
if (_isRetired) return retiredAmount();
return normalPayAmount();
};
#java #programowanie #fortran #naukaprogramowania
Komentarz usunięty przez autora
http://stackoverflow.com/questions/12745412/single-entry-single-exit-rule
http://stackoverflow.com/questions/17295315/when-a-statement-is-said-to-be-single-entry-single-exit-and-when-it-isnt
http://stackoverflow.com/questions/4838828/why-should-a-function-have-only-one-exit-point
http://stackoverflow.com/questions/36707/should-a-function-have-only-one-return-statement
http://softwareengineering.stackexchange.com/questions/118703/where-did-the-notion-of-one-return-only-come-from
@pottymouth: hm.. ale przecież pierwszy przykład jest z jednym exit point, a drugi przykład z wieloma
A problem z dupy, kwestia czytelności i może być w różnych sytuacjach różnie
w językach wysokiego poziomu już masz z definicji single entry.
co do out.. hm...nic nie wiem że powinno się używać SESE, bo bez kłopotu znajdę Ci taki przykład, że single exit, mozę wygląać mniej przejrzyście niż odwrotnie i na odwrót.
Osobiście używam pierwszego przykładu jeśli muszę przetransformować wynik przed zwróceniem.
Do drugiego, jeżeli masz jakąś ustaloną logikę, możesz użyć Map, gdzie T może być funkcją lub innym obiektem. Masz wtedy 2 opcje: robić na mapie bezpośrednio get(Predicate warunek), lub stream().filter(Predicate warunek).findFirst().orElse(T default);
@pottymouth: Nie czepiam się, tylko chciałbym trochę doprecyzować - kod, który wkleiłeś, nie jest w ogóle obiektowy, a czysto proceduralny. Dobry kod obiektowy używa zasady "tell, don't ask", czyli nie sprawdza w ifach warunków, lecz raczej zleca wykonanie operacji pewnemu obiektowi, który wie, co z nią dalej zrobić. Nie twierdzę, że taki kod jest zawsze czytelniejszy, ba, w tym wypadku pewnie tworzenie struktury obiektów
Jego podejście często jest na przekór pragmatyzmowi i użyteczności, ale mi osobiście bardzo pomogło w myśleniu o obiektowości jako spójnym paradygmacie i dostrzeżeniu, gdzie ja i inni często idą na skróty, bo łatwiej jest napisać coś proceduralnie (a potem męczyć się z utrzymaniem)
@nachteil: W tej dziedzinie koziołek też daje rade moim zdaniem.
Komentarz usunięty przez autora