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

Ocena prostego kodu

VPS Starter Arubacloud
+2 głosów
268 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 883 wizyt
pytanie zadane 12 lipca 2018 w Java przez BuxBleed Użytkownik (810 p.)
0 głosów
0 odpowiedzi 191 wizyt
pytanie zadane 23 grudnia 2018 w Java przez Potopiec Obywatel (1,550 p.)
0 głosów
1 odpowiedź 195 wizyt
pytanie zadane 3 lipca 2018 w PHP przez chmod96 Obywatel (1,380 p.)

92,845 zapytań

141,784 odpowiedzi

320,859 komentarzy

62,178 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...