Konwencje programistyczne

Transkrypt

Konwencje programistyczne
Bartosz Tomeczko
Konwencje programistyczne
Autor: Bartosz Tomeczko
02.10.2008.
Zmieniony 06.10.2008.
W artykule tym przestawiam podstawowe konwencje programistyczne, które i Państwu i mi uławią życie.
Państwu, ponieważ znacznie zwiększą czytelność kodu. A mi - zapewnią pewną jednolitość kodu.
Tutaj można pobrać wersję w PDFie wzbogaconą o przykłady.
1. Nie używamy zmiennych globalnych (w miarę możliwości).
2. Jeśli jest już konieczność użycia zmiennej globalnej, jej nazwa zaczyna się od g_..., pisana jest
lowerCamelCasem i nie zawiera twardych spacji (_).
3. Klamra otwierająca i zamykająca są zawsze w tej samej kolumnie. Wyjątek: funkcje jednolinijkowe.
4. Tabulator ma 4 znaki.
5. Klamra otwierająca zawsze znajduje się jako pierwszy znak w linii (oprócz spacji). Wyjątkiem są
funkcje inline.
6. Po klamrze otwierającej zawsze znajduje się wcięcie (tabulator). 7. Wszystkie zmienne klasy są
prywatne bądź chronione. Do wpisania wartości należy używać (napisanych wcześniej) funkcji set... i
get... 8. Wszystkie zmienne klasy mają przedrostek m_..., nazwa zmiennej pisana jest
lowerCamelCasem i zawierają twardej spacji (_). 9. Zmienne lokalne pisane są lowerCamelCasem i
nie zawierają twardej spacji (_). 10. Odstępstwo od powyższej zasady: wskaźniki rozpoczynają się
małą literką p, pozostała część nazwy pisana jest UpperCamelCasem i nie zawierają twardych spacji
(_). 11. Metody klasy (wszystkie) pisane są lowerCamelCasem i nie zawierają twardej spacji (_). 12.
Nazwy klasy pisane są UpperCamelCasem i nie zawierają twardej spacji (_). 13. Argumenty funkcji
zaczynają się twardą spacją (_), pisane są lowerCamelCasem i nie zawierają twardej spacji (_). 14.
Po nawiasie otwierającym zawsze jest spacja. Przed nawiasem zamykającym zawsze jest spacja. 15.
Przed nawiasem otwierającym nigdy nie ma spacji. 16. Jedna klasa w jednej parze plików CPP i
H. 17. Plik nagłówkowy opisujący klasę ma tę samą nazwę, jaką nazwę nosi klasa. Plik
implementacyjny ma tę samą nazwę, jak nagłówkowy (ale oczywiście inne rozszerzenie). 18.
Struktury nie mają metod (i co się z tym wiąże zmiennych prywatnych). 19. Struktury mogą być
zadeklarowane w oddzielnym pliku nagłówkowym lub w pliku nagłówkowym klasy, w której są
używane (tylko jeśli są używane przez jedną klasę). 20. Klasy nie mają zmiennych publicznych (patrz
pkt 6). 21. W definicji klasy metody znajdują się w następującej kolejności: publiczne, chronione i
prywatne. 22. Zmienne klasy znajdują się na końcu definicji klasy. 23. Kolejność metod w pliku
implementacyjnym (CPP) jest taka sama, jak w pliku nagłówkowym (H). 24. Metody, które nie
zmieniają zmiennych klasy są stałe (const). 25. Metody, które nie korzystają ze zmiennych/metody
klasy są statyczne (static). 26. Jedna linia kodu nie powinna przekraczać 100 znaków. 27. Jedna
metoda nie powinna przekraczać 100 linii. Jeśli tak jest, oznacza to, że należy ją rozbić na
funkcje/metody.
http://www.tomeczko.pl/pwr
Kreator PDF
Utworzono 3 March, 2017, 21:15