Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Kohana]Kontrola jakości kodu
MateuszS
post
Post #1





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

Ostrzeżenie: (0%)
-----


Witam. Skończyłem mały projekt w Kohanie (prosta strona z newsami, galerią itp.). Nie ma sensu pokazywać strony bo najważniejsza jest w tym właśnie Kohana i szlifowanie jej. Dopiero zacząłem się go uczyć i chciałbym przejść swego rodzaju kontrolę jakości. Wiadomo, prawdopodobnie "forumowy sanepid" zamknąłby moją fabrykę kodu ale głównie chodzi mi o uzyskanie rad, co robię źle i jak to poprawić żeby było dobrze (albo chociaż lepiej). Przymierzam się w niedalekiej przyszłości do stworzenia większego projektu i chciałbym żeby to było zrobione PRO.

Chciałbym abyście przyjrzeli się kontrolerowi i modelowi newsów (dla panelu administracyjnego). Proszę nie traktować tego jako "kodu do oceny". Ja wiem że to do oceny się jeszcze nie nadaje, z tym że ja już nie bardzo wiem co mógłbym poprawić. Stąd moja prośba o "kontrolę" kodu. Wybaczcie durnowate komentarze w kodzie, czasami się gubiłem.

Kontroler:
http://wklej.org/id/966403/

Model:
http://wklej.org/id/966404/

Pozdrawiam

Ten post edytował MateuszS 26.02.2013, 01:07:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lukaskolista
post
Post #2





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


@Damonsson:
gdzie wedlug Ciebie ciagle odwoluje sie do metod statycznych poza implementacja wzorca fabryki(Class::factory()), ktory jakby nie bylo polega na tworzeniu metod statycznych zwracajacych instancje danej klasy?

Ogolnie jest dobrze, gdyby kazdy pisal przynajmniej na takim poziomie swiat bylby lepszy (IMG:style_emoticons/default/smile.gif)

Pare uwag odemnie:
1. Model_News:
news_get_all() (i inne metody pobierajace dane) - po co zwracasz tablice (as_array()), IMO zwracanie iteratora jest lepszym rozwiazaniem m. in. z uwagi na dostep do roznych metod tego iteratora i mozliwosc ich rozszerzania.
news_exists($id) - gdybys uzywal wyzej wspomnianych iteratorow moglbys zrobic tak:
  1. $news = DB::select()
  2. ->from("parys_news")
  3. ->where("ID", "=", $id)
  4. ->execute()
  5. ->current;
  6.  
  7. return isset($news);


2. Obiekt walidacji moglbys zwracac w modelu, zamiast tworzyc go w kontrolerze.
3. Nie uzywasz transakcji na bazie danych (IMG:style_emoticons/default/sad.gif)
4. Moze warto w Model_News zaimplementowac wzorzec fabryki (Model_News::factory())?

Korzystasz z przefiltrowanych danych (pobierasz je z obiektu walidatora), co sie bardzo chwali.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 03:10