Ocena logowania OOP początkujący |
Ocena logowania OOP początkujący |
18.02.2018, 19:27:46
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 31.10.2014 Ostrzeżenie: (0%) |
Witam, jestem początkujący w programowaniu obiektowym, wcześniej pisałem w strukturalnym. Chciałbym aby ktoś bardziej profesjonalny ocenił kod logowania w OOP napisany przeze Mnie. Opinie innych są dla mnie bardzo ważna. Nie korzystam z żadnego wzorca projektowego, po prostu chce przepisać kod strukturalny na obiektowy aby lepiej go zrozumieć.
|
|
|
18.02.2018, 19:36:52
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) |
1. Używaj tylko angielskich nazw
2. Formatuj ładnie kod (https://www.php-fig.org/psr/psr-2/) 3. Nie twórz klas które są "aliasami" innych klas - klasa database nic nie wnosi. 4. Nie twórz klas w konstruktorach tylko je "wstrzykuj" - czytaj o DI (to wzorzec, w OOP jest dużo wzorców bez nich OOP nie ma sensu na dłuższą mete). 5. Używaj PHP 7.2 (silne typowanie itp.) 6. Używaj phpunit/phpspec - naucz się pisać testy 7. Używaj namespace`ów i composera (https://www.php-fig.org/psr/psr-4/) Ten post edytował markuz 18.02.2018, 19:38:11 -------------------- |
|
|
18.02.2018, 19:39:51
Post
#3
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
1. Poczytaj o PSR
2. Koduj po angielsku Nie wazne, ze teraz robisz to tylko dla siebie, jak wejdzie Ci w nawyk, to nie bedziesz sie musial przestawiac. 3. Nazwa klasy 'database' nie bardzo mi sie podoba. Raczej bym tutaj wstawil cos w stylu DatabaseConnection 4. Dane do polaczenia warto by bylo wyciagnac poza klase - zeby mozna jej bylo uzywac w wielu projektach / polaczeniach bez potrzeby zmian. 5. Zmienne do zapytan sie binduje, poczytaj o SQL Injection To tak na szybko |
|
|
18.02.2018, 20:17:26
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
Pozwol ze przeniose. Twoj problem z OOP nie ma zadnego zwiazku nachwile obecna
Cytat Ustawienie Kodowanie Zapytanie Nie Udało się A Co To Jest? Na Polskim Nie Uczyli Cie Jak SIe Pisze Zdania? Poczytaj o DI. Klasa UserAuthorizer nie ma prawa tworzyc wewnatrz siebie obiektu bazy danych -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
18.02.2018, 20:26:49
Post
#5
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 31.10.2014 Ostrzeżenie: (0%) |
Dziękuje za pomoc, temat do zamknięcia
|
|
|
18.02.2018, 20:31:31
Post
#6
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Czemu do zamkniecia ? Wprowadz poprawki, wrzuc nowa wersje i jedziemy dalej
|
|
|
18.02.2018, 22:53:20
Post
#7
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 31.10.2014 Ostrzeżenie: (0%) |
Ten post edytował mateuszstr1994 18.02.2018, 22:59:11 |
|
|
18.02.2018, 23:24:39
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) |
1. Używaj tylko angielskich nazw (wyjątki dalej po PL)
2. Formatuj ładnie kod smile.gif (https://www.php-fig.org/psr/psr-2/) (nadal brak formatowania) 3. Nie twórz klas które są "aliasami" innych klas - klasa database nic nie wnosi. (nadal klasa DatabaseConnection nie robi za dużo, wystarczy użyć wbudowanego np. PDO i ta klasa nie jest potrzebna) 4. Nie twórz klas w konstruktorach tylko je "wstrzykuj" - czytaj o DI (to wzorzec, w OOP jest dużo wzorców bez nich OOP nie ma sensu na dłuższą mete). (Jeszcze brakuje wstrzyknięcia niektórych zależności w DatabaseConnection) 5. Używaj PHP 7.2 (silne typowanie itp.) (brak typowania nadal) 6. Używaj phpunit/phpspec - naucz się pisać testy (brak testów) 7. Używaj namespace`ów i composera (https://www.php-fig.org/psr/psr-4/) (brak namespace) Tyle ode mnie Ten post edytował markuz 18.02.2018, 23:26:16 -------------------- |
|
|
18.02.2018, 23:33:43
Post
#9
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 31.10.2014 Ostrzeżenie: (0%) |
Dziękuje za odpowiedź, jak na pierwszy dzień z OOP to chyba nie jest tak źle Czeka mnie jeszcze dużo pracy, no cóż trzeba ćwiczyć.
|
|
|
20.02.2018, 23:27:24
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) |
To czemu nie database_connection? Camel case wszędzie. Albo o to:
Cytat Don't sacrifice clarity for brevity (specjalnie bez literówki, ja zawsze wstawiam "brewity" )Oczywiście to tylko przykłady (bo całość jest do zaorania). Nie ucz się sam na jakiś totalnie abstrakcyjnych przykładach, bo nauczysz się tylko złych nawyków a w dodatku nie jest to traktowane jako doświadczenie/staż pracy. Lepiej dołącz do jakiegoś zespołu programistów. |
|
|
2.03.2018, 19:15:18
Post
#11
|
|
Grupa: Zarejestrowani Postów: 148 Pomógł: 14 Dołączył: 23.02.2013 Ostrzeżenie: (0%) |
Dobrze by było jakbyś zaczął od napisania do chcesz osiągnąć, do czego to ma służyć, jakie są założenia.
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 23.09.2024 - 23:02 |