This is a legacy Trac instance left read-only for reference purposes. More info. dev main | home

Zasady (konwencje) kodowania

// luźna uwaga: może dostaniemy "preferowaną" konwencje kodowania, więc ten dział może stać się "obsolete" :p

Nazwy zmiennych

lrem

Proponuję, aby zmienne widoczne szeroko miały opisowe nazwy, z kolejnymi słowami wyróżnionymi wielkością liter (double particleMass;). Sensowne też wydaje się rozróżnianie zmiennych/funkcji eksportowanych poprzez zaczynanie ich od wielkiej litery.

mceier

nazwy zmiennych: pierwszy wyraz małymi literami, kolejne wyrazy rozpoczynane wielką literą ... eksport zmiennych tylko w uzasadnionych przypadkach ( a najlepiej by takich nie było ), z prefixem 'g_' ( hmm uwagi o eksporcie nazw chyba lepiej byłoby przenieść na inną stronę )

nazwy funkcji podobnie jak nazwy zmiennych z tym wyjątkiem, że eksportowane częściej ( bez wymaganego uzasadnienia ) i bez prefixu 'g_'

nazwy klas - wszystkie wyrazy w nazwie rozpoczynane wielką literą, pozostałe litery małe

nazwy przestrzeni nazw - najlepiej jak najkrótsze, jednowyrazowe, wszystkie litery małe

Komentarze

pi-r

Styl Javadoc (do generowania dokumentacji np. Doxygen)

Formatowanie

mceier

tabulacje = 4 znaki, zawsze zamieniane na spacje liczba kolumn = 80 /* vim: set fo+=t ts=4 sts=4 sw=4 et tw=80: */

pi-r

Moje propozycje:

K&R Style (http://en.wikipedia.org/wiki/K%26R)

spacje wstawiane w taki sposób:

for(i=0; i<10; ++i) {
    printf("%d", i*(i+i));
}

Ewentualnie styl do którego będzie można sformatować automagicznie w jakimś IDE :-)

Tabulacje popieram, ale czy będziemy pracować w trybie tekstowym żeby trzymać się 80 kolumn? 120 znaków też może wyglądać czytelnie i nie trzeba przewijać na boki.

mceier

dla C++ myślę, że lepszy jest taki styl:

for(i=0; i<10; ++i)
{
    printf("%d", i*(i+i));
}

e.g.

class C
{
    int _a,_b,_c,_d,_e,_f;
    C(int a,int b,int c,int d,int e,int f) : 
        _a(a), _b(b), _c(c), _d(d), _e(e), _f(f)
    {
    }
};

lRem

Osobiście używam bandy terminali o starych dobrych 80x24 znakach... A jeżeli powiększam, to raczej tylko w pionie (wtedy mieszczą mi się dwa i jest ślicznie). Poza tym nie podoba mi się proponowany styl :P Ale tutaj to zawsze jestem w opozycji do reszty świata, więc się dostosuję... Acz propozycja Mariusza bardziej mi się podoba. Tylko pytanie skąd stwierdzenie o lepsześci tego do C++? ;)

(mceier) przykład:

1.

class A {
};

2.

class A
{
};

w którym przypadku można szybciej/prościej dodać klasę bazową do klasy A :p

... dlatego myślę, że lepiej ten styl używać w C++

w C jest to bez różnicy :p

(lRem)

BTW - ciekawostka, czemu większość ludzi pisze tutaj zachowując jakąś małą szerokość tesktu źródłowego? Przecież i tak jest potem przeformatowany ;)