Tämä dokumentti kuvaa kdelibs-koodin suositellun koodaustyylin. Kukaan ei pakota käyttämään tätä tyyliä, mutta on suositeltavaa käyttää muodoltaan yhtenäisiä lähdekooditiedostoja.
Lyhyesti: Kdelibs-koodaustyyli noudattaa Qt 4 -koodaustyyliä.
Contents |
Esimerkki:
/ / Väärin KProgressBar *prbar; QString prtxt, errstr; / / Oikein KProgressBar *downloadProgressBar; QString progressText; QString errorString;
Esimerkki:
/ / Väärin QString* myString; if(true){ } / / Oikein QString *myString; if (true) { }
Perussääntönä vasen aaltosulje tulee samalle riville kuin lauseen alku.
Esimerkki:
/ / Väärin if (true) { } / / Oikein if (true) { }
Poikkeus: Funktiototeutuksissa, luokka-, struct-rakenne- ja nimiavaruusesittelyissä on aina avaava aaltosulje aloitusrivillä.
Esimerkki:
void debug(int i) { qDebug("foo: %i", i); } class Debug { };
Käytä aaltosulkeita jopa silloin kun ehdollisen lauseen runko sisältää vain yhden rivin.
Esimerkki:
/ / Väärin if (true) return true; for (int i = 0; i < 10; ++i) qDebug("%i", i); / / Oikein if (true) { return true; } for (int i = 0; i < 10; ++i) { qDebug("%i", i); }
Case-nimiöt ovat samassa sarakkeessa kuin switch-lause
Esimerkki:
switch (myEnum) { case Value1: doSomething(); break; case Value2: doSomethingElse(); // fall through default: defaultHandling(); break; }
Yritä pitää rivit lyhyempinä kuin 100 merkkiä lisäämällä rivinvaihtoja tarvittaessa.
Esimerkki:
/ / Väärin #include <QString> / / Oikein #include <QtCore/QString>
Voit käyttää astyle (>=1.23) koodin muotoiluun tai sen testaamiseen, että olet noudattanut tätä dokumenttia. Suorita seuraava komento:
astyle --indent=spaces=4 --brackets=linux \
--indent-labels --pad-oper --unpad-paren \
--one-line=keep-statements --convert-tabs \
--indent-preprocessor \
`find -type f -name '*.cpp'` `find -type f -name '*.cc'` `find -type f -name '*.h'`Käyttäessäsi astyle (>=2.01) -muotoilua sinun on suoritettava seuraava komento:
astyle --indent=spaces=4 --brackets=linux \
--indent-labels --pad-oper --unpad-paren \
--keep-one-line-statements --convert-tabs \
--indent-preprocessor \
`find -type f -name '*.cpp'` `find -type f -name '*.cc'` `find -type f -name '*.h'`Liittyvä kuoriskripti voidaan löytää unixille kohteessa kdesdk/scripts/astyle-kdelibs ja windows-käyttöjärjestelmälle kohteessa kdesdk/scripts/astyle-kdelibs.bat.
Hakemisto "scripts" kdesdk-moduulissa sisältää muiden hyödyllisten asioiden lisäksi joitakin hyödyllisiä lisäyksiä Emacs- ja Vim-tekstieditoreille, jotka tekevät KDE-koodin muokkaamisen niillä helpommaksi.
Hakemisto kde-emacs sisältää näppäinsidosjoukon, makrot ja yleistä hyödyllistä koodia. Se on sekä GNU Emacs- että XEmacs-yhteensopiva.
Kde-emacs -käytön aloittamiseksi lisää seuraava .emacs-tiedostoosi:
(add-to-list 'load-path "/path/to/kde-emacs") (require 'kde-emacs)
Monia asetuksia voidaan muuttaa muokkaamalla "kde-emacs"-ryhmää M-x customize-group -kautta.
Tarkista lisätietoja varten, mukaanlukien mitä ovat näppäinsidokset ja mitä lisäasetuksia voisit lisätä .emacs-tiedostoosi, itse tiedosto kde-emacs.el.
Voit löytää kohteesta kdesdk/scripts/kde-devel-vim.vim vim-skriptin, mikä auttaa sinua pitämään koodaustyylin oikeana. Sen lisäksi, että oletuksena käytetään kdelibs-koodaustyyliä, se automaattisesti käyttää oikeaa tyyliä Solid- ja kdepim-koodille. Jos haluat lisätä sääntöjä muille hankkeille, lisää ne vapaasti SetCodingStyle-funktioon.
Skriptin käyttämiseksi sisällytä se ~/.vimrc-tiedostoosi kuten tämä:
source /path/to/kde/sources/kdesdk/scripts/kde-devel-vim.vim
Document started by Urs Wolfer. Some parts of this document have been adopted from the Qt Coding Style document posted by Zack Rusin on kde-core-devel.