• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Ocena prostego kodu

Object Storage Arubacloud
+2 głosów
256 wizyt
pytanie zadane 27 września 2016 w Java przez Ehos Nowicjusz (240 p.)
edycja 27 września 2016 przez Ehos

Okej. Wcześniejsze spotkania z programowaniem nie były niczym regularnym i wykraczającym poza wymagania studiów. Jestem świadomy, że to błąd, więc postanowiłem produkować więcej kodu, jednocześnie starając się wyrobić nowe nawyki jak TDD albo tworzenie "czystego kodu". Przez wakacje trochę się o tym naczytałem. Teraz przyszedł czas na praktykę. Jak to mówią trening czyni mistrza. Zdaję sobie jednak sprawę, że moja ocena własnego programu nie jest w żaden sposób wiarygodna. Ciekaw więc jestem waszych rad, spostrzeżeń oraz krytyki odnośnie napisanego kodu.


Opis działania:

Program przyjmuje link (pełny z protokołem http) lub ścieżkę do pliku .html. Pobiera źródło podanej strony, a następnie przegląda je w poszukiwaniu frazy "href=", która w moim przypadku dla uproszczenia oznacza wystąpienie linku. Następnie aplikacja zwraca znalezione na podanej stronie linki. Niby szału nie ma, ale nie chcę się rzucać na głęboką wodę bez podszlifowania podstaw. Aplikacja prosi o link, znajduje szuka linków i kończy działanie.


Komunikacja z użytkownikiem jest ograniczona do minimum, bo na razie nie chcę wracać do GUI (zrobiłem kiedyś aplikację webową w javie, ale to był wielki chaos i niewiele już z tego pamiętam). Mam kilka pomysłów na przyszłe projekty, ale jak wspomniałem najpierw proste rzeczy.


https://github.com/Ehos/Learning/tree/master/LinksFinder

1 odpowiedź

+1 głos
odpowiedź 27 września 2016 przez MichuDev Pasjonat (20,300 p.)

Tak na szybko, to co się rzuca w oczy:

  • Pakiety nazywamy małymi literami, a klasy wielkimi (co akurat robisz dobrze).
  • W klasie Decider.SourceParser, wyrażenie regularne powinno być w typie Pattern (static i final), a poza tym nie jest ono dobrze napisane (nie działa dla każdej strony np. http://forum.pasja-informatyki.pl/, https://github.com (nie mają w adresie www). Stworzenie wyrażenia regularnego do tego typu jest dość skomplikowane i wręcz niemożliwe przy użyciu tylko jednego wyrażenia regularnego.
  • W pliku pom.xml powtarzają się zależności. Polecam gradle, jest lepszy od mavena i można używać wszystkiego z repozytorium mavena. 
komentarz 27 września 2016 przez Ehos Nowicjusz (240 p.)
Faktycznie, teraz dopiero zwróciłem uwagę, że jak są ścieżki przy importach to mają właśnie małą literą zaczynające się nazwy.

Co do wyrażeń regularnych. Zmienię i zrobię jak mówisz. Z wyrażeniami regularnymi dopiero startuję (moje pierwsze ich spotkanie) i sam je składałem. Milion razy się przy tym gubiąc. Niemniej uważam, że jest to świetne rozwiązanie i jeszcze nie raz z niego skorzystam. Czyli najlepiej byłoby napisać osobne wyrażenia dla różnych wersji linków i skleić je potem OR'em? Czy raczej przyrównywać do każdej z wersji z osobna? Do każdej z osobna wydaje mi się czytelniejsze, łatwiejsze do zmiany i daje możliwość ubrania tego w jakąś zgrabną pętelkę.

Co do pom.xml zupełnie tego nie zauważyłem. Błędnie założyłem, że "przecież to się tam w spokoju samo generuje, jak coś będę tam potrzebował to dopiero zajrzę". Jak widać...nie ufaj maszynie ;) Przyjrzę się przy następnym programie Gradle. Korzystałem z Mavena, bo polecił go nam nasz laborant, a że jego użycie było bardzo ograniczone (nie pisałem oddzielnych modułów, nie łączyłem obcych modułów itd.), a tylko się z nim "obywałem" to nie szukałem żadnej alternatywy. Przyjdzie teraz czas na obywanie z Gradle.

Dziękuję za rady. Będę pamiętał ;)

A masz może jakieś uwagi co do testów? Za mało? Coś dałoby się jeszcze obudować testami jednostkowymi? Za dużo assertów? Za dziwne testy?

Podobne pytania

0 głosów
2 odpowiedzi 845 wizyt
pytanie zadane 12 lipca 2018 w Java przez BuxBleed Użytkownik (810 p.)
0 głosów
0 odpowiedzi 175 wizyt
pytanie zadane 23 grudnia 2018 w Java przez Potopiec Obywatel (1,550 p.)
0 głosów
1 odpowiedź 169 wizyt
pytanie zadane 3 lipca 2018 w PHP przez chmod96 Obywatel (1,380 p.)

92,552 zapytań

141,399 odpowiedzi

319,534 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...