Code Review

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:

public class Main {

    public static void main(String[] args) {
        Dziennik dziennik = new Dziennik();
        dziennik.menu();
    }
}
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ć

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:
 
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.

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:

         Student(String x, String y){
            this.name = x;
            this.surname = y;
        }
    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?

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.

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.

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

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

zamień na

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

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

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