Wpis z mikrobloga

No siema programistyczne swiry. Jako ze moje zycie i tak nie ma sensu to siedze i od 2 dni dlubie w javie. Jest to moje pierwsze zetkniecie z jakimkolwiek jezykiem i programowaniem (moje zaplecze IT sie sprowadzało bardziej do hardware'u , instalacji cracka czy tam, że wiedziałem czym sie różnią architektury procesora). Dzisiaj napisałem coś takiego, pierwszy program (XD) do którego nie używałem ściągawek w postaci dokumentacji itp, zapoznałem się z rozdziałem 3 z "Java Podstawy". Pytanie moje, czy może ktoś to ocenic pod względem "czystości kodu" i dobrych praktyk? Wydaje mi się, że te pętle są dość topornie zrobione i dałoby się szybciej/ergonomiczniej. Druga sprawa, do czego doszedłem później, to lepiej deklarować zmienne i stałe w jezyku angielskim (z tego powodu nie wrzucam na stackover, tylko tu smiece). Jakieś może jeszcze ogólne porady co tam zepsułem tudzież jak można było lepiej?

https://pastebin.com/URR0Ncu0 <------------ kod
#programowanie #naukaprogramowania #programowaniespam #pytanie #java
  • 13
@PiwnicaZyciem: trochę wcześnie na ocenę, bo jeszcze nie znasz pewnie konstrukcji pozwalających na rozwiązanie większości problemów z Twoim kodem.

Ale jak chcesz:

1. wszystko w jednej metodzie to zły pomysł, wypadałoby podzielić to na mniejsze metody

2. nazwy zmiennych typu cośtam, cośtam1, cośtam2 to zło. Rozwiązaniem jest wydzielenie tych kawałków kodu do oddzielnej metody i używanie normalnych nazw zmiennych

3. metoda main nie powinna rzucać wyjątków, lepiej złapać te wyjątki gdzieś
6. To typowo proceduralny kod. Spróbuj napisać go obiektowo - podziel go na mniejsze obiekty realizujące poszczególne zadania takie jak walidacja inputu, wypisywanie komunikatu, kapitał, kapitał w konkretnym roku itp.
@Bruno_: Oczywiście, że są szybsze i wolniejsze programy w Javie. Spróbuj sobie odpalić jakąś wielką pętlę tworzącą małe inty vs tworząca duże Integery i porównaj róznicę, szczególnie w kwestii zużycia pamięci.

@PiwnicaZyciem: To dobrze że się interesujesz, ale na clean code i takie tam to jeszcze jest trochę za wcześnie w twoim przypadku - najpierw naucz się wszystkich konceptów a potem szlifuj rzemiosło poznając zgromadze przez lata dobre praktyki -
@Myzreal alokacja większych połaci pamięci oczywiście z ebedzie wolniejszy, chodzilo mi o to że na przykład nie ma za bardzo różnicy w szybkosci while for do itp xD
Chociaż popraw mnie, bo mało na ten temat wiem, bardziej intuicyjnie to mówię
@PiwnicaZyciem: Jeśli faktycznie w dwa pierwsze dni coś takiego wydziergałeś to jestem pod olbrzymim wrażeniem. Świetnie Ci idzie. Jeszcze za wcześnie na ocenę kodu, robisz po prostu za dużo podstawowych błędów. Przeczytaj chociaż jedną książkę o podstawach języka i pokoduj razem z nią. Ocena kodu przez kogoś innego ma sens jak już będziesz znał składnię języka i paradygmat programowania obiektowego.
@tell_me_more: zobaczyłem to try.catch i jeszcze nie rozkminiam o co chodzi, ale bede mial na uwadze w następnych XD Dzieki. A zmienna "a" to tak na dziko powstała bo program ignorował postep lat i jesli odpowiedz caly czas byla nie wypluwał "masz 40 lat, za rok (tutaj wjechała zmienna a) bedziesz mial 55 lat" xD i temu o niej zapomnialem. Co do ciała metody, to czy nie bede musiał tworzyc innych
@ddk1910: a dzieki, wlasnie czytałem o tym, tylko za mało się wbiło w łeb xD
@63274682374: jasne, taki mam plan {zeby oprzeczytac ksiazke), tylko ten program jest w całości "mój", nie patrzyłem na nic tworząc go, myslalem ze poznajac bledy z zarodku nie bede ich potem robic, ale tu to chyba nie ma sensu xD