Code Review

  • Rejestracja: dni
  • Ostatnio: dni
0

Siemanko. Zaczynam się uczyc Javy, naipsałem coś a'la dziennik.
Moglibyście mi powiedzieć co zrobiłem źle, co byście zmienili?

http://pastebin.com/A6S7QwG0
http://pastebin.com/ypAHQP4q

main:

Kopiuj
public class Main {

    public static void main(String[] args) {
        Dziennik dziennik = new Dziennik();
        dziennik.menu();
    }
}
spartanPAGE
  • Rejestracja: dni
  • Ostatnio: dni
1
  1. Nie baw się w makaronizm! Daruj sobie język polski w kodzie.
  2. Konstruktor to fajna rzecz, nie skreślaj jej :P
  3. Wyobraź sobie, że switche (i drabinki if-ów) nie istnieją
  4. public static ArrayList<String> listaUczni = new ArrayList<String>(); nie ładnie, nie ładnie

Na początek powinno wystarczyć

szarotka
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 555
2
  1. W programowaniu używa się języka angielskiego.
  2. kistaUczni jest static bo?
  3. private Uczen uczen = new Uczen(); wywal z klasy Dziennik
  4. W metodzie: dodaj() skorzystaj z konstruktora
  5. Zapisy w stylu:
Kopiuj
 
listaUczni.get(scanner.nextInt()-1)

są słabe. Użytkownik poda 7 a będziesz miał na liście np. tylko 1 ucznia i leci wyjątek.

  • Rejestracja: dni
  • Ostatnio: dni
0

dzięki wielkie za rady.
zmieniłem wszystko na język angielski, ArrayListe ustawiłem na private i wywaliłem static.
Zastanawiam się na dwoma rzeczami. Jak powinno wyglądać prawidłowe użycie konstruktora? Wymyśliłem coś takiego:

Kopiuj
         Student(String x, String y){
            this.name = x;
            this.surname = y;
        }
Kopiuj
    private void add(){
        student = new Student(scanner.next(),scanner.next());
        students.add(student.toString());
        Collections.sort(students);
    }

No i druga sprawa, czyli jeśli nie switch i nie ify to co w takim razie?

Wizzie
  • Rejestracja: dni
  • Ostatnio: dni
0

Generalnie w programowaniu obiektowym drabinki ifów zastępuje się polimorfizmem, ale osobiście uważam, że taka drabinka w twoim programie jest okej.

T2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 194
0
  1. Zamiast PasteBin wrzuć kod na GitHub-a wtedy będziemy mogli dodawać komentarze bezpośrednio do kodu i zostanie Tobie fajna pamiątka :) Od razu masz wpis do CV. Dodatko + że znasz community :p

  2. Często powtarzasz menu() aż boli od duplikowanego kodu :p Przenieś to po za switch-a. W opcji zamknij zamień break na return.

  • Rejestracja: dni
  • Ostatnio: dni
0

@Wizzie aaa, poczytam o tym. dzięki.
@teo215 wydaje mi się, że gdybym dorzucił taki dziennik do cv to by pomyśleli, że chce z nich zrobić idiotów:D ale założenie githuba to faktycznie dobry pomysł. dzięki:D

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0
  1. Zmienne w 11-13 są tworzone przy Tworzeniu obiektu więc mogą mieć słówko final.
Kopiuj
public static ArrayList<String> listaUczni = new ArrayList<String>();

zamień na

Kopiuj
private final List<String> listaUczni = new ArrayList<>();

Ten switch taki dziwny, ale na razie chyba jest okej.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.