Ocena aplikacji

0

Napisałem dwie aplikacje w laravelu i proszę was o to abyście ocenili je a napisali która jest lepsza i teraz wiem, że te aplikacje mają mało kodu laravela więcej jest php i teraz planuje pisać trzecią, ale ja zacznę pisać trzecią to planuje dać więcej kodu laravela i teraz nie wiem jaki jest kurs, który by tłumaczył w jaki sposób pisać aplikacje w laravelu, których kod wygląda jak laravel ?

https://github.com/tomi0001/dzienniczek

https://github.com/tomi0001/leki

1
  1. Folder na githubie "nbproject" jest zbędny, wywal go./
  2. Folder "tymcza" podejrzewam, że też zbędny - nazwa wskazuj na coś tymczasowego.
  3. "dzienniczek" to folder/symlink? Moim zdaniem zbędny.

Patrząc dalej w kod...

    public function rejestracja() {
    
    
        return view('rejestracka');
    }

Rozumiem, że dysleksja i słabo z językiem angielskim. Jeśli tak to obie przypadłości do poprawienia :)

  public function zarejestruj() {
       // $a = $this->sprawdz_email(Input::get('login'));
        //print $a;

zakomentowany kod do wywalenia.

W projekcie dzienniczek masz plik baza_sql.sql w ktorym masz

CREATE TABLE `leki` (
  `id` int(11) NOT NULL,
  `nazwa` varchar(100) NOT NULL,
  `dawka` float NOT NULL,
  `data_spozycia` datetime NOT NULL,
  `id_users` int(11) NOT NULL,
  `porcja` tinyint(4) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Takie kwiatki powodują że dalej nie chce mi się sprawdzać czegokolwiek, bo to strata czasu.

1

W zasadzie nie ma sensu się powtarzać, bo te same błędy powielasz od 2015 roku, polskie nazwy zmiennych, funkcji, klas, brak camelCase, czy innego, brak oczytania standardów PSR, brak składni poprawnej laravel, brak opisu projektów (słaby angielski?), bałagan na github itp.

0

No dobra, ale która aplikacja jest lepsza tak mniej więcej ?

0

Funkcje na milion linii, masa warunków (rozgałęzień kodu), brak podziału kodu na modele i kontrolery (wszystko jest w kontrolerach, a tak to nie ma sensu). -> mowa o np. pliku **Controller_szukaj.php **z projektu leki

0

Od wczoraj na czepianie się o "polskie nazwy zmiennych" mam taką oto odpowiedź - https://i.imgur.com/VBm6XV4.png
Tak więc nie musisz się tym przejmować :-)

5

@pol90: jeśli masz non stop problem z identycznymi kwestiami to może warto sobie je wszystkie wypisać, np. w punktach i przykleić obok monitora podczas kodowania.

Powiedzmy:

  • Nie będę używał polskich nazw zmiennych, metod czy klas;
  • Nie będę umieszczać logiki biznesowej w kontrolerach;
  • Moje funkcje mają mieć maksymalnie 15 linijek długości;
  • Nie będę wrzucał zakomentowanego kodu na GitHub.

I tak dalej... To może wydawać się śmieszne ale naprawdę może pomóc, kiedy będzie się miało taki zestaw przez cały czas przyklejony do ramy monitora.
No, bo faktycznie - te błędy, o których moi przedmówcy pisali jednak często się pojawiają.

Mi np. coś w tym stylu pomogło podczas uczenia się składni NHibrenate (taki ORM dla .NET'u) gdzie notorycznie zapominałem o kilku rzeczach.

Spróbuj, bo moim zdaniem naprawdę widać pasję w tym co robisz.

PS: kiedy kolejny film o tematyce informatycznej, na kanale?

3

Nie stosujesz parametrów w zapytaniach tylko ręcznie szyjesz stringi.

Poważny błąd!

Dokumentacja: https://laravel.com/docs/5.0/database#running-queries

Szycie zapytań bez parametrów to prosta droga do SQL Injection.

2

Masz naprawdę duży problem z odpowiednim nazywaniem obiektów. Popatrz, z tego fragmentu kodu to w zasadzie nie wiem nic:

$godzina_a = (int) $godzina_aa[0];
$minuta_a = (int) $godzina_aa[1];
$godzina_b = (int) $godzina_bb[0];
$minuta_b = (int) $godzina_bb[1];
$wynik = $data3->sprawdz_date($rok_a,$miesiac_a,$dzien_a,$godzina_a,$minuta_a,false);
$wynik2 = $data3->sprawdz_date($rok_b,$miesiac_b,$dzien_b,$godzina_b,$minuta_b);
$wynik3 = $data3->porownaj_dwie_daty($rok_a,$rok_b,$miesiac_a,$miesiac_b,$dzien_a,$dzien_b,$godzina_a,$godzina_b,$minuta_a,$minuta_b,false);

Najlepiej zrobisz jeśli zakodujesz sobie, żeby nie używać cyfr w nazwach zmiennych. Wtedy umysł od razu pomyśli, że może warto wymyślić inną nazwę.
Naprawdę takich rzeczy jak powyższy kod jest tak dużo, że po pięciu minutach w zasadzie już nic nie wiem.

I Ty też nie będziesz wiedział: Spróbuj zostawić ten projekt i zając się innym, całkowicie innym konceptualnie, projektem. Po roku, jak wrócisz do obecnego kodu to NIC z tego nie będziesz wiedział.

1

Komentarze typu:

//jeżeli pole leki będzie miało jakąś wartość to utwórz zapytanie wyciągające dane i leki
...
//to samo tylko dla liczby rekordów
...
//dzieli leki na spacje 
...
//w przeciwnym razie kiedy nie będzie leków to tworzy inne zapytanie

...są kompletnie niepotrzebne. Takie coś powinno być widać od razu i to powinno wynikać z kodu.
Najlepiej w ogóle nie komentować kodu, bo to zmusi Cię do stosowania większej czytelności.

2

Tutaj nie ma rady i trzeba przysiąść z książką PHP, poczytać o składni, dobrych praktykach i to wdrożyć, potem są tutki nawet po polsku o laravel, ale od angielskiego nie uciekniesz tak czy inaczej.

1

Masz tak niesamowicie przeładowane metody, że masakra. Przykład: https://github.com/tomi0001/dzienniczek/blob/c031b8745b03704f5b1f1a6a21b6cc976126d1af/app/Http/Controllers/Controller_szukaj.php#L143

To wręcz MUSI być krótsze i podzielone na mniejsze jednostki. Nie ma innej opcji.

0

https://github.com/tomi0001/dzienniczek/blob/c031b8745b03704f5b1f1a6a21b6cc976126d1af/app/Http/Controllers/Controller_ajax.php#L27

leki2, leki3, leki4, leki5, leki6 w jednej metodzie - i już nic nie wiesz...

https://github.com/tomi0001/dzienniczek/blob/c031b8745b03704f5b1f1a6a21b6cc976126d1af/app/Http/Controllers/Controller_strona.php#L396

Zrób tam zagnieżdżoną pętlę zamiast wypisywać wszystko metodą kopiuj wklej.
To, że masz nieciągłość między tab[9], a tab[13] wcale nie oznacza, że masz nie korzystać z iteracji.

Więcej mi się nie chce. :)

Dobra, jeszcze jedno: https://github.com/tomi0001/dzienniczek/blob/c031b8745b03704f5b1f1a6a21b6cc976126d1af/app/Http/Controllers/Controller_strona.php#L578

Zastąp: http://php.net/manual/en/function.cal-days-in-month.php

Nie prościej?

Idę se kawę zrobić. ;)

0

Polecam sobie wykupić pakiet na Laracasts lub obejrzeć to co jest darmowo.
https://laracasts.com/series/laravel-from-scratch-2017

Tu jest praktycznie wszystko.
Twój kod wygląda jakbyś w życiu nigdy żadnego tutoriala nie oglądał dotyczącego Laravela.
Jeżeli Twój angielski nie jest dostateczny, żeby móc uczyć się z tutoriali to proponuję zacząć od angielskiego, bo bez tego nigdy nic dobrego nie napiszesz.

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