1 #### ##### # # # ##### ### #### ## # # ### ##
2 # # # # # # # # # # # # # ## # # # #
3 # # # # # # # # # # # # # # # # #
4 #### # ### # ##### # #### ###### # # # # ######
5 # # # # # # # # # # ## # # #
6 # # # # # # # # # # # # # # # #
7 #### # # ###### # ### #### # # # # ### # #
9 STYL PISANIA KODU WATERMELON CMS-A
12 ____________________________________________________________________________
14 To jest obowiązyjący dla programistów Watermelon CMS-a styl programowa-
15 nia. Jednolity styl poprawia wygląd kodu i ułatwia jego późniejszą refa-
16 ktoryzację. Jeśli zauważysz, że ktoś zrobił inaczej, popraw.
22 Nie ma tabów. Zamiast tabów trzy spacje!
26 Typowy styl - przed i po klamerce enter.
39 Przed i po operatorze spacja.
41 $abcde = $x + ( 6 + 2 ) . 'abc';
43 Co do nawiasów - dotyczy tylko wyrażeń, czyli:
49 jakas_funkcja(); // nie robimy po nazwie funkcji spacji -
50 // według nas jest to psucie czytelności.
54 $test = ( $a * $h ) / 2;
56 Pisanie spacji nie dotyczy operatorów zasięgu ( "::" oraz "->" )
61 Po przecinku zawsze spacja!
67 Normalnie używamy do stringów apostrofów. Cudzysłowy używamy dla
68 zapytań SQL, oraz tam gdzie to konieczne (np. "\n")
72 Stałe piszemy także dużymi literami. Stałe samego CMS-a zaczynają
75 Stałe własnego kodu musimy poprzedzić prefiksem, aby mieć pewność,
76 że nie będzie kolidowało z czymś innym.
80 Pamiętamy, żeby używać stałych jeśli to NAPRAWDĘ konieczne.
84 a) Pobieranie danych z DB
86 Dane z bazy danych pobieramy do obiektu. Nie pobieramy nic przez
87 funkcję mysql_result. Ewentualnie można użyć tablicy zamiast
88 obiektu, ale raczej preferujemy obiekty (czytelniej wygląda kod)
90 Przykład pobrania danych, które jest OK:
92 $data = $this->db->query("SELECT * FROM `test`");
94 while($item = $data->to_obj())
99 b) Działania na tablicach
101 Jeśli chcesz przejść po wszystkich elementach tablicy użyj foreach,
102 ponieważ jest dużo czytelniejsze od for. Ewentualnie można użyć
103 funkcji typu array_map, ale jest to raczej mniej wygodne i mniej
108 foreach($array as $item)
115 for($i = 0 ; $i < count($array) ; $i++)
120 Myślę, że różnica czytelności obu przykładów pokazuje, dlaczego
121 lepiej użyć foreach ;)
125 Zdecydowanie nie używamy globali. Są dobre sposoby, aby "przeżyć"
126 bez nich. Są to: pola (właściwości) klasy (zwykle prywatne, ale
127 mogą też być publiczne), singleton (odradzamy), referencje itd...
131 Wszystkie pliki zapisujemy z kodowaniem UTF-8 i uniksowymi enterami,
132 tzn. \n, nie \r\n jak na windowsie.