Ocena kodu gdy Game of Life

0

Witam.
To jest jedna z moich pierwszych appek w Javie nie licząc jakiś programów na praktyki(...).
Chciałbym abyście ocenili i podpowiedzieli co by można poprawić w kodzie.
W rarze są tylko pliki z rozszerzeniem *.java

0

dobra wrzuciłem testowo na githuba:
https://github.com/Layflette/Game-of-Life

1
		
		slowMode.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				ups = 5.0;
			}
		});
		
		medMode.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				ups = 10.0;
			}
		});
		
		fastMode.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				ups = 20.0;
			}
		});
		
		default60.addActionListener(new ActionListener() {	
			@Override
			public void actionPerformed(ActionEvent e) {
				ups = 60.0;
			}
		});
		uberFast.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				ups = 120.0;
			}
		});

:/

0

https://github.com/Layflette/Game-of-Life/blob/master/Cell.java
18L: osobiście nie lubie takich if'ów, lepiej dodać klamerki

https://github.com/Layflette/Game-of-Life/blob/master/GameOfLife.java
81L: ja bym dodał klamerki
38L: ta metoda GameOfLife robi za dużo, proponuje refaktoryzacje, podzielenie tego
184L: nie zostawia się e.printStackTrace() w kodzie, użyj logera

tyle na razie

0

Te for'y od razy mi się skojarzyły.
http://koziolekweb.pl/2011/10/22/ekstremalna-obiektowosc-w-praktyce-%E2%80%93-czesc-1-tylko-jeden-poziom-zaglebienia-na-metode/

Niby kod jako tako wygląda miejscami, a miejscami wygląda jakby pisał to junior. Może się czepiam, ale coś mi tu śmierdzi :D

0
  1. MVC.
  2. Map.java jest zbyt skomplikowane. To powinno być kilka osobnych klas. GameOfLife.java też jest zbyt złożone.
0

Jest trochę późno i pewnie "nabazgrałem" nieładny kod.

  1. @niezdecydowany faktycznie to wygląda dziwnie. Teraz dodałem "slider" w menu zastanawiam się, czy nie wrzucić go w całego menuBara a nie w subMenu ale na razie jest w subMenu
  2. dodane "return status == CellStatus.ALIVE"
    Trochę rozdrobniłem te klasy, z obiektówki nie jestem najlepszy to w zasadzie drugi projekt w javie mój.
    Link https://github.com/Layflette/Game-of-Life
0

CellsEvolve.java mogę sie z tobą założyć że każda z tych pętli w evolve() mogła by być osobną metodą...
Poza tym odradzam używanie tablic. Generalnie staraj się używać kolekcji.

0

Minęło już trochę czasu a nikt nie gani go za tego .join()'a ...

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