13 stycznia 2019

Dobre praktyki programistyczne cz.3

Kolejny wpis w serii. Pamiętaj, nim zaczniesz stosować techniki z obecnego wpisu, zapoznaj się z częścią poprzednią.

Poniżej przestawię kolejnych kilka zasad dobrego programowania w języku PHP.

Zasady programowania

Limit znaków w linii:

W jednej linii najlepiej zawrzeć do 80 znaków, jednak nie powinniśmy przekraczać ilości 120 znaków. Dlaczego raz pojawia się 80 a raz 120 ? Mianowicie 80 znaków w linii było dobrze widzianych w czasach gdzie nie królowały dziś obecne rozdzielczości full hd spokojnie 120 znaków można na linię umieścić nie tracąc na czytelności, nie powodując pojawienia się poziomego suwaka.

Wcięcia:

Wcięcia w kodzie robimy używając 4 spacji

Puste linie:

Puste linie tworzymy zawsze po:

  1. Deklaracji namespace
  2. Po blogu deklaracji use

Klamry:

Klamerka otwierająca klasę powinna być w linii następnej po nazwie klasy. Klamerka zamykająca klasę również powinna być w linii następnej po kodzie klasy.

Powyższa zasada tyczy się również metod.

Widoczność:

Pomimo że nie jest wymagane wpisywanie widoczności dla metod (wtedy domyślnie przyjmuje ona wartość public. To według standardu powinno się widoczność zawsze wpisywać. Wpisujemy ją nie tylko dla metod, ale też do właściwości.

Czyli, nie deklarujemy właściwości wpisując „var” lecz np. „public”

Jeśli deklarujemy metodę lub właściwość chronioną bądź prywatną, nie poprzedzamy jej nazwy podkreśleniem.

Spacje:

Po każdym słowie kluczowym (if, elseif, else, switch, case, while, do while, for, foreach, try, catch) musi znajdować się spacja.

Jeśli po słowie kluczowym znajduje się nawias, to po otwarciu nawiasu i przed jego zamknięciem nie może być spacji.

Jeśli po słowu kluczowym znajduje się klamerka (przeciwnie do klamerek klas i metod), powinna ona znajdować się w tej samej linii co słowo kluczowe, lecz pomiędzy nimi powinna znaleźć się spacja.

Małe i duże litery:

Słowa kluczowe oraz stałe takie jak null, false, true, powinny być pisane małymi literami.

Extends i Implements:

Extends i Implements powinny wystąpić w tej samej linii co nazwa klasy. Jeśli implementujemy wiele interfejsów do klasy, możemy każdą nazwę zapisać w nowej linii, lecz powinny być one wcięte (4 spacje) względem nazwy klasy. Przykład:

class ClassName extends AbstractClass implements
    \ImplementsClassOne,
    \ImplementsClassTwo,
    \ImplementsClassThree
{

Jak nie przekroczyć 120 znaków:

Przyszła mi do głowy sytuacja w której musimy przekazać dużo parametrów do metody, lub po prostu zadeklarować wiele parametrów.

Nie musimy ich wpisywać obok siebie dzieląc przecinkiem i pojedynczą spacją.

Dozwolone jest w takich sytuacjach wykonanie tego w ten sam sposób co powyższy przykład wskazujący na implementowane klasy. Czyli od nowej linii. Tylko proszę Ciebie, nie mieszaj obu metod. Deklarujesz wszystkie od nowej linii, lub wszystkie w jednej linii dla jednej metody/klasy.