#java #javapomoc Mam klasę która robi całą robotę w 200 linijek. Jak to rozbić sensownie żeby było OOP? Mam tworzyć metody i każda metoda wywołuje swoją podmetodę tworząc wcześniej w sobie instancje klasy która zawiera metodę? Np w mainie do klasy Analyzator przekazuję cząsteczkę chemiczną, potem tam muszą stać się operacje na stringach, znajdowanie nawiasów, pierwiastów, numerów itp. Ew mogę porobić metody statyczne ale to trochę zaciemni kod.
@borrow: Chodzi o to, żeby stosować się do zasady Single Responisbility Principle. W skrócie mówiąc, jedna klasa opisuje tylko jedno pojęcie a jedna metoda za jedną czynność. Więc patrząc pobieżnie to już widać, że są z tym problemy. Jest w jednej metodzie parsowanie, walidacja i bóg wie co jeszcze. To wszystko powinno być rozbite
@borrow: przecież ta metoda jest r-------a jak polska studentka po erazmusie, po przycieciu niepotrzebnych pustych linii wychodzi ok 130 linii w metodzie co jakims strasznie zlym wynikiem nie jest
#java #javapomoc Mam mętlik :P czy metoda equals może mieć w sobie odwołania do metody hashcode żeby sprawdzić czy obiekty są równe? Czy hashcode implementujemy tylko dla kolekcji żeby np nie dodawać duplikatów do Seta?
Kompilator nie zabroni, ale nie powinno się tego robić, bo te dwie metody powinno się traktować rozdzielnie. Jeśli chcesz wiedzieć więcej to popełniliśmy artykuł na ten temat http://devfoundry.pl/equals-i-hashcode/
@borrow: coś innego, zdecydowanie. W ogóle nie widzę większego sensu czyć się tego typu frameworków 'na potem' - jest duża szansa, że zanim (o ile w ogóle) użyjesz ich 'produkcyjnie', to będą przestarzałe, lub w ogóle nie będą istnieć. Poucz się czegoś, co jest używane 'od zawsze': guava, mockito, guice, etc.
#java #javapomoc Podeślecie jakieś kody źródłowe aprek które w podręcznikowy sposób pokazują zastosowanie OOP? Piszę kod i nie mam wrodzonej zdolności do pisania tego obiektowo :P Robię to trochę jak janusz bo kod ma strukturę pożal się boże (w funkcjach tworzę obiety nowych klas które zawierają funkcję która mi się przyda)
#eth #bitcoin #coinomi Jak na apce Coinomi przenieść w bezpieczne miejsce moje bitkojny? Przeinstalowuje telefon i muszę coś z nimi zrobić. Niby mam hasło + recovery phrase ale nie wiem jak się zaloguje w razie czego.
Pisałeś kiedyś obiektowo? Na moje oko, to jest do przepisania od nowa. Pomyśl co ten program robi (bez działania na stringach), podziel to sobie na klasy (rzeczowniki), napisz abstrakcyjny program (bez działania na stringach, odejmowania, dodawania, wyszukiwania, tylko w sposób mówiący ogólnie co ma to zrobić), potem zaimplementuj funkcje (nazwa ma mówić co ona robi - w sposób abstrakcyjny, w środku implementacja dopiero działa
@borrow: 1. Zamiast mapy Map zrób klasę Atom ze składowymi: name i number 2. TreeMap resultsTable = new TreeMap<>(); - potrzebujesz trzymać kolejność? HashMapa jest szybsza 3. Nie do końca ogarniam co się dzieje w kodzie, bo wszystko masz w jednej metodzie. Rozdziel je na mniejsze - tak do max 10 lini jak się da. 4. Nie do końca wiem, co robią thirdMultiplier, fourthMultiplier itp. Musisz to zapisywać jako osobne zmienne? Nie możesz
Spring używany jest w zastępstwie do ociężałej Javy EE. Działa do stworzenia MVC. Spring wymaga @Oznaczenie zasobu, Beanu z którego chcemy skorzystać - żeby mógł stworzyć węzły wyjścia na świat dla aplikacji. działanie polega na wstrzykiwaniu zależnosci (rdzeń springa).
Hibernate ORM ma uprościć korzystanie z baz danych i pozwala wrzucać tam obiekty.
@borrow: spring jest tak samo ociężały jak java ee, albo może i nawet bardziej w zależności czym tę ociężałość będziesz mierzył. Spring korzysta z wielu specyfikacji javy ee - servlety, walidacja, jpa.
@borrow: Ogolnie ja wygodniej, ale też zależy od firmy i stanowiska. Są firmy gdzie nie ma problemu z dress code i dzinsy z koszulą przejdą. Raz byłem na rozmowie, gdzie rekruter zaznaczył jaki ma być dress code z racji na firmę (kancelaria prawnicza). Moim zdaniej najbezpieczniej jest się ubrać w spodnie materiałowe (nie od garniaka) i koszulę.
Jak używać automatycznie pól z klasy nadrzędnej? Chcę żeby IntelliJ generował konstruktor w child klasie (rectangle, circle) i brał pod uwagę że w parent Shape mamy jeszcze color. Ta się to robić inaczej niż manulanie? Linijka wskazana strzałką
Mam
molecule.chars()
.filter(s -> Character.isUpperCase(s) || Character.isLowerCase(s+1))