Formatowanie kodu

0

To może taki mały wstęp dotyczący tego, o czym wspomniał Piechnat.

  1. Nazywanie zmiennych, stałych oraz funkcji

Identyfikatory powinny składać się ze słów języka angielskiego i możliwie dokładnie opisywać swoje działanie/zawartość (abc, temp czy xxx nie mówią zbyt wiele). Nazwy jednoliterowe są zarezerwowane jako liczniki pętli.

Zmienne opisujemy małymi litereami, cyframi, oraz kreskami podkreślenia:
$post_id

Stałe opisujemy wielkimi literami, cyframi oraz kreskami podkreślenia:
$POSTS_PER_PAGE

Funkcje wielkimi i małymi literami, oraz cyframi:
HighlightDelphi()

  1. Puste linie

Puste linie powinny oddzielać od siebie fragmenty kodu tworzące logiczne bloki funkcyjne.

  1. Instrukcje złożone

Po i przed instrukcjami złożonymi zostawiamy puste linie. Nie dotyczy to instrukcji, które są jedyne w swoim bloku.

if:

if (warunek) instrukcja;

if (warunek)
instrukcja;
else
instrukcja;

if (warunek) {
instrukcje;
}

if (warunek) {
instrukcje;
} else {
instrukcje;
}

Dozwolona jest też forma

if (warunek)
instrukcja;

jeżeli występuje problem ze zmieszczeniem się w jednej linii.

Forma

if (warunek) {
instrukcje;
} else instrukcja;

jeste zabroniona. Pojedyńcza instrukcja przy else może wystąpić tylko wtedy, gdy przy 'then' jeste też pojedyńcza instrukcja.

for:

for (;;) instrukcja;

for (;;) {
instrukcje;
}

Z while analogicznie

switch () {
case: instrukcja;
break;
case:
case:
}

  1. Komentarze

Jak najwięcej. Na poczatku kodu info o tym, do czego służy plik oraz ChangeLog w standardowej postaci.

  1. Funkcje

Funkcje definiujemy tak:

function Nazwa(paramerty) {
}

Przy wywołaniu i definicji oddzielamy argumenty przecinkami oraz spacjami.

  1. Wyrażenia arytmetyczne

Spacje piszemy przed i po wszystkich operatorach wyłączając * oraz /.

  1. Zmienne globalne

NIE korzystamy z tablic $HTTP_POST_VARS ani z podobnych. Dostęp do zmiennych uzyskujemy TYLKO poprzez tablice $_GET, $_POST i podobnych. Przykład:

$id = $_GET["id"];

To tylko taki wstęp i mała propozycja...

0

To może taki mały wstęp dotyczący tego, o czym wspomniał Piechant.

piechnat :p

Dodam jeszcze:

function nazwa(parametry) {
instrukcje;
}

no i żeby parametry w funkcjach oddzielać nie tylko przecinkiem ale
także i spacją:

funkcja(parametr1, parametr2, parametr3, parametr4, parametr5, parametr6);

żeby każde wyrażenie zakończone średnikiem było w osobnej lini, nawet jeśli
to tylko:

$i = 0;

i jednocześnie żeby linijka kodu nie przekraczała 80 znaków.

Pojedyńcza instrukcja przy else może wystąpić tylko wtedy, gdy przy 'then' jeste też pojedyńcza instrukcja.

no to może lepiej jak są pojedyńcze i się da to:

warunek ? instrukcja : instrukcja;

no i mała kwestia sporna:

if (warunek) {
instrukcje;
} else {
instrukcje;
}

a nie ładniej:

if (warunek) {
instrukcje;
}
else {
instrukcje;
}

odpowiedź uzasadnij ?

0

Hmm.... To będzie kłopot

Z przyzwczajenia zwsze piszę kod trochę inaczej:

if(costam)
{
xxx();
}
else
{
yyy();
}

itd.
Chyba to przeżyjecie.

0

Fajnie mi sie to podoba :) Jak juz wszystko uzgodnimy to wstawimy wszystko do kupy, w jeden artykul :) Zapytam jeszcze, co ze zmiennymi? Czy $HTTP_POST_VARS, czy po prostu $zmienna ?

0

Fajnie mi sie to podoba :) Jak juz wszystko uzgodnimy to wstawimy wszystko do kupy, w jeden artykul :) Zapytam jeszcze, co ze zmiennymi? Czy $HTTP_POST_VARS, czy po prostu $zmienna ?

Ja tymczasem pisze skrypty do zarzadzania calym kodem (cos a la CVS) tyle, ze w PHP...

0

Fajnie mi sie to podoba :) Jak juz wszystko uzgodnimy to wstawimy wszystko do kupy, w jeden artykul :) Zapytam jeszcze, co ze zmiennymi? Czy $HTTP_POST_VARS, czy po prostu $zmienna ?

Ja tymczasem pisze skrypty do zarzadzania calym kodem (cos a la CVS) tyle, ze w PHP...

hhmmmm..... zacząć trzeba od tego że dużo ludzi korzystających ze skryptów z
netu zaczęło zgłaszać się np. na www.ygreg.com z tym że one nie działają.
Powodem jest to że od wersji 4.2.0 ustawienie register_globals na ON
nie jest już domyślne, natomiast tablice superglobalne $_POST są dostępne od
wersji 4.1.0 więc jedynym logicznym wyjściem wydaje się $HTTP_POST_VARS.
Tablice tego typu są co prawda od wersji 4.2.0 uznane za przestarzałe
ale z uwagi na uniwersalność nadal dostępne.

A à propos klamerek to widzę że będzie ciężko :-D

0

proponowalbym jeszcze aby na samej gorze kodu byl dokladny opis pliku, opis ostatnich modyfikacji i ksywy/nazwiska osob ktore w nim cos dodaly (tylko mam nadzieje ze sie obedzie bez akcji, ze ktos sobie doda echo "::" specjalnie by sie tam znalezc).

a co ze sciezkami? Ja zawsze uzywam wzglednych i dla zasady nie robie np. include("costam.dat"); jesli jest w lokalnym folderze, tylko include("./costam.dat");

0

To może taki mały wstęp dotyczący tego, o czym wspomniał Piechant.

piechnat :p

Poprawiłem :D I dodałem o co prosiłeś :)

a nie ładniej:

if (warunek) {
instrukcje;
}
else {
instrukcje;
}

odpowiedź uzasadnij ?

Nie. Dlaczego? Tamta forma jest krótsza i tak samo przejrzysta. Krótki i zwięzły kod to dobry kod.

0

proponowalbym jeszcze aby na samej gorze kodu byl dokladny opis pliku, opis ostatnich modyfikacji i ksywy/nazwiska osob ktore w nim cos dodaly

Ja może wam tylko podpowiem, że jest tu na serwisie opis kodowania Adama w Delphi. Styl całkiem niezły, więc czemu nie zaadaptować do PHP? W b4p sprawdził się. (oczywiście ze względu na rozróżnianie wielkości liter w PHP to musi przejść pewne przeobrażenia...)

0

lapiej define, bardziej poręczne i pewniejsze.

0

Juz dodalem taki dokument w katalogu /dokumentacje. Mozecie zobaczyc, sciagnac na swoj komp i ew poprawic wysylac po raz kolejny na serwer, co powinno podmienic plik :)

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