Wpis z mikrobloga

#java #javapomoc
Ma ktoś pomysł jak przerobić ten kod na bardziej OOP?

https://github.com/enseitankad0/AtomInMoleculeCalculator/blob/master/src/com/enseitankado/ParseMolecule.java

Generalnie do aplikacji podajemy cząsteczkę 22Na(OH2)2 i ona wypluwa
Na = 22, O=44, H=88 i wszystko działa spoko
Jak widzicie kod napisany na kolanie. Myślałem o dodaniu klasy MultiplierManager która dla każdej cząsteczki szukała by dla niej mnożników czyli czy cząsteczka jest w nawiasie okrągłym, co jest po nawiasie okrągłym itp.. Do ustalenia tego slużyła by klasa BracketManager z zestawem metod.

Jakie macie koncepty?
  • 5
  • Odpowiedz
@borrow: o kurde, jaka sieczka xD

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 na
  • Odpowiedz
@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?
  • Odpowiedz