Aplikacja JAVA od zera - best practicles.

0

Dzień dobry, mam pytanie odnośnie pisania aplikacji java od zera, co mam na myśli pisząc "od zera" mianowicie bez żadnych frameworków (spring). Chodzi głównie o aplikacje, które nie zawsze wymagają działania na bazie danych.

Szczegółowe pytania:

  1. Czy warto korzystać z toolsów typu Maven, Gradle, Ant? Czy lepiej samemu zarządzać bibliotekami?
  2. Czy posiadacie własne przemyślenia / metodyki, które pomagają w pisaniu aplikacji w "czystej" javie?
0
Cosiek napisał(a):

Dzień dobry, mam pytanie odnośnie pisania aplikacji java od zera, co mam na myśli pisząc "od zera" mianowicie bez żadnych frameworków (spring). Chodzi głównie o aplikacje, które nie zawsze wymagają działania na bazie danych.

Szczegółowe pytania:

  1. Czy warto korzystać z toolsów typu Maven, Gradle, Ant? Czy lepiej samemu zarządzać bibliotekami?
  2. Czy posiadacie własne przemyślenia / metodyki, które pomagają w pisaniu aplikacji w "czystej" javie?
  1. Warto.
  2. Jak piszesz apki desktopowe to wzorzec MVC pomoże. Jak piszesz webowo w JavaEE to wzorzec ECB pomoże.
1

Narzędzia do zarządzania bibliotekami to bezpieczeństwo - ręcznie ściągając masz zawsze jakiś procent szansy, że ściągniesz nie wiadomo co z niewiadomego miejsca - literówka w nazwie i nieszczeście gotowe.
Maven repo itp. to jednak dość sprawdzone źródła - nie wszystkie biblioteki tam sa bezpieczne, ale zasadniczo wiadomo jaką mają historię.
Tak samo w przypadku wykrycie błędów - mając toola podbijasz tylko numer wersji. Gradle, maven są ok.

Jak robisz aplikację dla uczenia się i do to lej na metodyki i best practices. Nic tak nie nauczy Cie dobrych wzorców jak zrobienie czegoś źle. Nie mówiąc o tym, że krążące obecnie różne "wzorce" (włączając klasyczne design patterns) są w pewnej części przestarzałe.

Polecam stosowanie repozytorium kodu od dnia 0. Github i gotowe. Nie ma się czego wstydzić, możesz sobie wziąć zupełnie głupiego nicka, żeby się nie stresować. Commituj przynajmniej raz na 2 godziny prac. Najlepiej jak się kompiluje.

Testy raczej warto robić i uczyć się pisania testowalnego kodu.

0

"Czy lepiej samemu zarządzać bibliotekami?"
Lepiej używać Gradle/Maven bo inaczej jak nie będziesz sam to się okazuje, że wszyscy muszą zarządzać bibliotekami (i pisać jak krok po kroku przygotować środowisko ^^').
Poza zarządzaniem narzędzia te oferują automatyzację (powtarzalność), więc nawet w małym projekcie pewnie się zwróci czas poświęcony na naukę/używanie narzędzi budujących.

0

Zasady SOLID są bardzo wazne, szczególnie pierwsze pięć :D

  1. Stosowanie polimorfizmu zamiast if-logi. Dla przykładu masz aplikace która wylicza koszty parkowania, ale dla rożnych kierowców sa rózne koszty. Zamiast pisać ify, robisz interfejs z kilkoma implementacjami, robisz np. mapę która będzie wiązała typ kierowcy z implementacją kalkulatora, dzięki czemu nie musisz pisac ifów.
    EDIT:
    ifologia tzn nadmierne stosowanie ifów gdzie bardziej by pasował np. polimorfizm, umiarkowania ilość ifów nie jest szkodliwa społecznie :D
    2)Stosowanie niemutowalnych struktor danych (choć nie zawsze się da)
    3)Kompozycja nad dziedziczenie (generalnie w 99% dziedziczenie to odchody)
    4)Wstrzykiwanie zależności przez konstruktor, settery to zło
    5)Nauczysz się popełniając błędy
0
  1. Tak. Nie.
  2. http://www.foundbit.com/pl/zasoby/programowanie/podstawy/articles/zasady-kodowania.html
    "Effective Java" - Joshua Bloch, w tym roku wyszło 3-cie wydanie
    "Java Coding Guidelines" - praca zbiorowa

1 użytkowników online, w tym zalogowanych: 0, gości: 1