„nie powtarzaj się” piszesz/kopiujesz coś po raz 2 lub 3?
Z dużym prawdopodobieństwem warto to napisać raz i wykorzystać w kilku miejscach
Ilość linii kodu ~ ilość bugów/fackapów Zmiany w jednym miejscu
klasy/obiekty funkcje/metody klas elementy/partiale w widokach helpery w widokach callbacki w jQuery metody modeli w MVC before_filter w kontrolerach before_save w modelach
Autoryzacja Sprawdzanie poprawności parametrów Wyciąganie wspólnego obiektu Ustawianie BreadCrumba/Title
Database CRUD
› Create› Read› Update› Delete
HTTP REST
› /model/create (new)› /model/show/id› /model/update/id (edit)› /model/delete/id› /model/index
Spójność› 4 podstawowe akcje dla każdego modelu +
ewentualne dodatki› Ten sam interfejs komunikatów (walidacja
modelu)› DRY – jedna akcja może zwracać różnie
sformatowane dane (HTML, XML, JSON, JS)› Przeniesienie logiki do modelu
Komentarze› Create (AJAX)› Delete (AJAX)› Index dla admina› Delete (AJAX) dla admina
Golisty› Index› Show› Create (New)› Update (Edit)› Activate
Elementy Golisty› Create (AJAX)› Edit (AJAX)› Update (AJAX)› Delete (AJAX)
Jest dużo lepszych programistów niż JA
Jest dużo programistów mających więcej czasu niż JA…
Frameworki – przetestowane przez setki userów
Popularne biblioteki – j.w.
Pluginy do jQuery Komponenty do CakePHP Zewnętrzne biblioteki Posty na blogach (google is your friend) Kod z innych projektów firmowych Głowy i bookmarki współpracowników
Google Reader z funkcją Share› Czytaj blogi o PHP, programowaniu, etc.› Czytaj co ciekawego znaleźli Twoi znajomi
Devguru.pl› Napisz co ciekawego zrobiłeś w projekcie
lub opublikuj plugin/komponent
Top Related