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