-
Notifications
You must be signed in to change notification settings - Fork 3
Style Guide
Jeśli ktoś może, to najlepiej pracować na Linuxie.
Niezależnie od systemu operacyjnego, jako edytor polecamy CLion (ma 30-dniową wersję testową, a że jesteśmy studentami to możemy używać za darmo - trzeba tylko podać e-mail uczelniany w formularzu na tej stronie). Ma on wbudowane chyba wszystko co potrzebne do pracy z projektem.
Jeśli ktoś preferuje inny edytor to oczywiście nie ma problemu. Wymagane jest jednak:
- Kompilator C++,
- CMake,
Na każdej platformie trzeba mieć(mogą nie być domyślnie zainstalowane, na pewno freeglut):
- FreeGLUT - pod Windows: FreeGLUT; pod Linux freeglut3-dev (na Ubuntu instalowany poleceniem
sudo apt install freeglut3-dev
), - OpenGL (w większości przypadków powinien już być zainstalowany).
Ponadto na Linuxie trzeba jeszcze zainstalować xorg-dev - np. przy pomocy apt.
Kierujemy się GitFlow. W CLion można zainstalować plugin Git Flow, który jeszcze bardzie uprzyjemni tworzenie ładnego kodu.
W skrócie:
Repozytorium dzieli się na gałęzie:
- feature/* - w których są rozwijane poszczególne funkcjonalności, * zastępujemy numerem funkcjonalności,
- hotfix/* - w których naprawiane są błędy,
- develop - gdzie umieszczane są skończone funkcjonalności i naprawione błędy,
- master - gotowe wersje - wszystko dobrze działa.
Opisy komitów powinny być postaci:
Add instructions for contributors (<= 50 characters)
I state why I did this (if not obvious) and how. Maybe I add some note
regarding my doubts about my code or solution.
I may add another paragraph if I need to.
10 minutowa, nieobowiązkowa lekturka.
Streszczając: Pierwsza linia ma mniej niż 50 znaków, streszcza co zostało zrobione,
jest w trybie rozkazującym czyli gdyby na początku dopisać
If applied, this commit will ...
, to będzie poprawna gramatycznie. Dodatkowo opis może zawierać jeden lub więcej paragrafów oddzielonych od siebie (oraz pierwszej linii) pustą linią opisujących co i dlaczego zostało zmienione.
Kierujemy się Google C++ Style Guide.
Dzielimy na pliki nagłówkowe (zawierające jedynie deklaracje oraz dokumentację) oraz źródłowe. Jeżeli deklaracja czegoś pojawia się w pliku abcd.h, do definicja będzie w abcd.cpp.
W kodzie używamy tylko języka angielskiego, unikamy nazywania zmiennych "a", "x" itd.
Konwencja nazewnictwa:
- klasy -
class SomeClass
, - metody -
SomeKlass::some_method()
, - zmienne -
int some_variable
.
Jeden plik = jedna klasa.