Czy kod jest czytelny? Dobre praktyki przy pisaniu kodu.

0

Witam!
Uczę się programowania w Javie ale chciałbym, aby mój kod już od początku był pisany zgodnie z dobrymi praktykami programistycznymi. W związku z tym proszę abyście rzucili okiem czy dobrze kombinuję:
https://github.com/Transell/Guess-Number-game
I jeszcze pytanie: jak tworzyć foldery w GitHub?
Z góry sorki za trywialne pytania.

Pozdr!

1

Dla Ciebie github powinien wiązać się jedynie z upublicznianiem repozytoriów, nie z ingerencją w nie! Całe repozytorium powinieneś mieć lokalnie.
Czytaj: http://githowto.com/

0

for (int i = 0; i < 6;)
{
    if (play == variate)
    {
        ViewText.win();
        break;
    }
    else if (play > variate)
    {
        ViewText.numberIsLower();
        play = scanner.nextInt();
        i++;
    }
    else if (play < variate)
    {
        ViewText.numberIsHigher();
        play = scanner.nextInt();
        i++;
    }
    if (i == 6)
    {
        ViewText.outOfAttempts();
    }
}

ładniej wygląda w tej postaci:

for (int i = 0; i < 6; ++i)
{
    if (play == variate)
    {
        ViewText.win();
        break;
    }

    if (play > variate)
    {
        ViewText.numberIsLower();
    }
    else
    {
        ViewText.numberIsHigher();
    }

    play = scanner.nextInt();
}
3

Not even close ;)

  1. Magic numbers w kodzie. Zamiast random.nextInt(101); lepiej zrobic stałą o dobrej nazwie i wołać random.nextInt(MAX_ATTEMPTS); albo coś takiego
  2. for (int i = 0; i < 6;) jw -> i<maxTurnsNumber ;)
  3. Ten warunek na i=6 jest bez sensu i niepotrzebny, wystarczy że po wygranej zrobisz return.
  4. Cała ta funkcja z iflogią jest słaba. A jakby opcji było np. 100 to też byś tak rozpisywał? Po enterprajsowemu to należałoby zamiast warunków w ifach zrobić sobie jakieś klasy/lambdy w stylu Predicate które testują daną zależność, a potem odpalać je sobie wszystkie w jednej pętli po kolei i wypisywać komunikat zależnie od tego który predykat jest spełniony. Dzięki temu można sobie dodawać kolejne warunki bez konieczności powiększania drabinki ifów.
0

Dzięki za komentarze. Mi generalnie chodziło o tworzenie klas itp czy w dobrą stronę idę jeśli o to chodzi. Czytelność kodu w ujęciu ogólnym. Tzn metody obliczeniowe wkładam tutaj, te odpowiedzialne za wyświetlanie tekstu tam itd. Logika układania kodu.

0

Aha i jeszcze pls o to jak tworzy się foldery w GitHube :)

0

Normalnie tworzysz folder i commitujesz.

0

Tak, z tym że jak klikam new file to tworzy mi plik tekstowy.

0

Co to znaczy commitować?

0

Sprawdź sobie co to:
git init
git status
git add
git commit
git push
git pull
Na początek powinno wystarczyć

0
pingwindyktator napisał(a):

Normalnie tworzysz folder i commitujesz.

Git nie potrafi przechowywać pustych katalogów. Musi tam być choć jeden zakomitowany plik.
Jako konwencja przyjęło się tworzenie pliku o nazwie .gitkeep jeśli katalog ma być „pusty”.

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