Aktywne Wpisy
Berbeluszka +22
Człowiek wchodzi przez życie pełen nadziei, a potem nagle bum. Starsi i wyżej postawieni nie zawsze mają rację, na przyjaciół nie można liczyć, najbliżsi okazują się najbardziej wyrachowanymi oszustami, faceci głosują na konfederację i oglądają patostreamy, dziewczyny się prostytuują w internecie ale na żywo też ci obciągną za blika na 30zl.
A potem człowiek nocami siedzi i szuka w internecie rozwiązania, jak nie gardzić wszystkimi dookoła
A potem człowiek nocami siedzi i szuka w internecie rozwiązania, jak nie gardzić wszystkimi dookoła
Ave2 +8
Tez was skreca z zenady gdy widzicie "sportowe" samochody na miescie? Do miasta sa auta miejskie,a nie m3. Tak samo jak ktos chodzi w butach narciarskich, bo drogie. Nie czujecie tego zazenowania? Kolejny gimnazjalny trend to motocykle ktore maja 1l pojemnosci I pelne owiewki? Serio? Jezdzicie tym po drogach, a wygladacie jak na motogp. Rozumiem 125ccm w pelnych owiewkach, bo tam chodzi o spalanie I rekompensowanie niskiej mocy, ale wieksze pojemnosci to
http://koziolekweb.pl/2016/03/24/malo-znane-slowa-kluczowe-strictfp/
#programowanie #java
@koziolek666: To wymień jeszcze 3 :)
@Async
czy aktorów to raczej tego nie spotkasz. Można na tej liście zastąpić to słówko np. labelkami.Zazwyczaj rozbija się na metody, ale czasami rozbijanie na metody nie ma sensu kiedy kod ma być szybki a ty np iterujesz po np x/y/z, rozbicie na metody by tylko pogorszyło czytelność :D
A dodanie tu volatile kompletnie nie pasuje o.O
Za to można wspomnieć o keywordach które istnieją, ale
@GotoFinal: Tak się nie pisze kodu.
Używałem takiego labela w moich wszystkich kodach od kilku lat... może z 3 razy, ale czasem tak było najlepiej, by zachować czytelność nie psując wydajności i czytelności.
- używasz złych struktur danych
- masz skopany design/pomieszane paradygmaty
- piszesz jakieś akademickie gówno do transponowania macierzy, i liczy się wynik, a nie całokształt.
Do 'wychodzenia' z pętli masz break/continue, przy użyciu labeli mieszasz przebiegiem logiki, i zdecydowanie w czyś takim ciężej się ogarnąć, niż po wydzieleniu fragmentów kodu do osobnych metod. Nie ma co się zasłaniać
- sprawia że kod wygląda jak nieczytelne gówno.
- spowalnia, a przy milionach iteracji nawet te glupie wykonanie metody potrafi być widoczne.
a zmiana struktur też odpada, bo też za bardzo spowolni kod.
I label nie miesza logiki, to nie jakieś
goto
by trudno bylo zobaczyć coNatomiast co to label/break, to ewidentnie zamiast 'end = true' powinien być zwykły return, a całość w osobnej metodzie. I nie, nie wpływa to na wydajność.
Nie umiem na poczekanie napisać dobrego przykładu, bo to mało kiedy jest potrzebne.
Co do wydajności, jak będę wykonywał tę metodę po 1000 razy na sekundę, a za każdym razem potrzebuje zwracać te x/y/z, to już wpłynie na wydajność, szczególnie jak
ValueObject
, który będzie ich nośnikiem.I jakim ciałem obcym? labelki są użwane prawie wszędzie, każda pętla używa labelków, do tego bytecode generowane przez kompilator gdy używasz labelek w zły sposób, np zamiast break w mniejszej pętli robisz "continue label" na większej, jest IDENTYCZNE.
A kod z
goto
w języku obiektowym... tak jest mądrzej.break
,continue
to znaczy, że masz poważny problem, bo twój kod nie jest przemyślany.No niestety nie każda... nawet mniejszość.
A używanie break i continue od kiedy jest zwalone? co jak szukam po collection pewnego elementu, i jak go znajdę to kończę szukanie?, albo nie chce robić kilka if/else i nawalić wcięć w kodzie po za ekran jak w kalkulatorze wyborczym, to można dać continue ->
if (!object.isValid()) continue;
prosty, czytelny kod.