Policies/Kdelibs Coding Style/fi: Difference between revisions

From KDE TechBase
(Created page with "Skriptin käyttämiseksi sisällytä se {{path|~/.vimrc}}-tiedostoosi kuten tämä:")
(Updating to match new version of source page)
(4 intermediate revisions by 3 users not shown)
Line 2: Line 2:
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.
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.


<span class="mw-translate-fuzzy">
'''Lyhyesti: Kdelibs-koodaustyyli noudattaa Qt 4 -koodaustyyliä.'''
'''Lyhyesti: Kdelibs-koodaustyyli noudattaa Qt 4 -koodaustyyliä.'''
</span>


== Sisennys ==
== Sisennys ==
Line 27: Line 29:
QString errorString;
QString errorString;
</syntaxhighlight>
</syntaxhighlight>


== Tyhjemerkki ==
== Tyhjemerkki ==
Line 134: Line 137:
<syntaxhighlight lang="text">
<syntaxhighlight lang="text">
astyle --indent=spaces=4 --brackets=linux \
astyle --indent=spaces=4 --brackets=linux \
       --indent-labels --pad-oper --unpad-paren \
       --indent-labels --pad=oper --unpad=paren \
       --one-line=keep-statements --convert-tabs \
       --one-line=keep-statements --convert-tabs \
       --indent-preprocessor \
       --indent-preprocessor \
       `find -type f -name '*.cpp'` `find -type f -name '*.cc'` `find -type f -name '*.h'`
       `find -type f -name '*.cpp'-or -name '*.cc' -or -name '*.h'`
</syntaxhighlight>
</syntaxhighlight>


Line 143: Line 146:
<syntaxhighlight lang="text">
<syntaxhighlight lang="text">
astyle --indent=spaces=4 --brackets=linux \
astyle --indent=spaces=4 --brackets=linux \
       --indent-labels --pad-oper --unpad-paren \
       --indent-labels --pad-oper --unpad-paren --pad-header \
       --keep-one-line-statements --convert-tabs \
       --keep-one-line-statements --convert-tabs \
       --indent-preprocessor \
       --indent-preprocessor \
       `find -type f -name '*.cpp'` `find -type f -name '*.cc'` `find -type f -name '*.h'`
       `find -type f -name '*.cpp' -or -name '*.cc' -or -name '*.h'`
</syntaxhighlight>
</syntaxhighlight>


<span class="mw-translate-fuzzy">
Liittyvä kuoriskripti voidaan löytää unixille kohteessa [http://websvn.kde.org/*checkout*/trunk/KDE/kdesdk/scripts/astyle-kdelibs kdesdk/scripts/astyle-kdelibs] ja windows-käyttöjärjestelmälle kohteessa [http://websvn.kde.org/*checkout*/trunk/KDE/kdesdk/scripts/astyle-kdelibs.bat kdesdk/scripts/astyle-kdelibs.bat].
Liittyvä kuoriskripti voidaan löytää unixille kohteessa [http://websvn.kde.org/*checkout*/trunk/KDE/kdesdk/scripts/astyle-kdelibs kdesdk/scripts/astyle-kdelibs] ja windows-käyttöjärjestelmälle kohteessa [http://websvn.kde.org/*checkout*/trunk/KDE/kdesdk/scripts/astyle-kdelibs.bat kdesdk/scripts/astyle-kdelibs.bat].
</span>
* [https://projects.kde.org/projects/kde/kdesdk/kde-dev-scripts/repository/revisions/master/raw/astyle-kdelibs kde-dev-scripts/astyle-kdelibs] (POSIX)
* [https://projects.kde.org/projects/kde/kdesdk/kde-dev-scripts/repository/revisions/master/raw/astyle-kdelibs.bat kde-dev-scripts/astyle-kdelibs.bat] (Windows)


<span class="mw-translate-fuzzy">
== Emacs- ja Vim-skriptit ==
== Emacs- ja Vim-skriptit ==
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 "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.
Line 156: Line 165:
=== Emacs ===
=== Emacs ===
Hakemisto [http://websvn.kde.org/trunk/KDE/kdesdk/scripts/kde-emacs kde-emacs] sisältää näppäinsidosjoukon, makrot ja yleistä hyödyllistä koodia. Se on sekä GNU Emacs- että XEmacs-yhteensopiva.
Hakemisto [http://websvn.kde.org/trunk/KDE/kdesdk/scripts/kde-emacs kde-emacs] sisältää näppäinsidosjoukon, makrot ja yleistä hyödyllistä koodia. Se on sekä GNU Emacs- että XEmacs-yhteensopiva.
</span>


Kde-emacs -käytön aloittamiseksi lisää seuraava .emacs-tiedostoosi:
Kde-emacs -käytön aloittamiseksi lisää seuraava .emacs-tiedostoosi:
Line 168: Line 178:
Tarkista lisätietoja varten, mukaanlukien mitä ovat näppäinsidokset ja mitä lisäasetuksia voisit lisätä .emacs-tiedostoosi, itse tiedosto <tt>kde-emacs.el</tt>.
Tarkista lisätietoja varten, mukaanlukien mitä ovat näppäinsidokset ja mitä lisäasetuksia voisit lisätä .emacs-tiedostoosi, itse tiedosto <tt>kde-emacs.el</tt>.


<span class="mw-translate-fuzzy">
=== Vim ===
=== Vim ===
Voit löytää kohteesta [http://websvn.kde.org/*checkout*/trunk/KDE/kdesdk/scripts/kde-devel-vim.vim 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.
Voit löytää kohteesta [http://websvn.kde.org/*checkout*/trunk/KDE/kdesdk/scripts/kde-devel-vim.vim 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.
</span>


Skriptin käyttämiseksi sisällytä se {{path|~/.vimrc}}-tiedostoosi kuten tämä:
Skriptin käyttämiseksi sisällytä se {{path|~/.vimrc}}-tiedostoosi kuten tämä:
Line 177: Line 189:




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.
Urs Wolfer aloitti dokumentin. Joitakin tämän dokumentin osia on otettu Zack Rusinin lähettämästä Qt-koodaustyylidokumentista kohteesta kde-core-devel.


[[Category:Policies]] [[Category:C++]]
[[Category:Policies]] [[Category:C++]]

Revision as of 18:22, 7 April 2013

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ä.

Sisennys

  • Ei sarkainmerkkejä
  • 4 välilyöntiä yhden sarkainmerkin sijasta

Muuttujaesittely

  • Jokainen muuttujaesittely uudella rivillä
  • Jokainen uusi sana muuttujanimessä alkaa isolla kirjaimelle (niin kutsuttu kamelityyli)
  • Vältä lyhennyksiä
  • Käytä hyödyllisiä nimiä. Ei lyhyitä nimiä, paitsi:
    • Yksimerkkiset muutujanimet voivat ilmaista laskureita ja tilapäisiä muuttujia, joiden tarkoitus on ilmeinen
    • Muuttujat ja funktiot (metodit) alkavat pienellä kirjaimella

Esimerkki:

/ / Väärin
KProgressBar *prbar;
QString prtxt, errstr;

/ / Oikein
KProgressBar *downloadProgressBar;
QString progressText;
QString errorString;


Tyhjemerkki

  • Käytä tyhjiä rivejä ryhmälauseissa
  • Käytä vain yhtä tyhjää riviä
  • Käytä yhtä välilyöntiä jokaisen avainsanan jälkeen
  • Käytä yhtä välilyöntiä ennen osoitin- ja viitemerkkejä '*' tai '&', mutta ei niiden jälkeen
  • Ei välilyöntiä tyyppimuunnoksen jälkeen

Esimerkki:

/ / Väärin
QString* myString;
if(true){
}

/ / Oikein
QString *myString;
if (true) {
}

Aaltosulkeet

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);
}

Switch-lausekkeet

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.

Qt includes-lauseet

  • Jos lisäät #includes-rivin Qt-luokkiin, käytä sekä moduulinimeä että luokkanimeä. Tämä sallii sovellusten käyttää kirjastokoodia ilman liiallisia kääntäjän include-polkuja.

Esimerkki:

/ / Väärin
#include <QString>

/ / Oikein
#include <QtCore/QString>

Artistic-tyylinen (astyle) automaattinen koodimuotoilu

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'-or -name '*.cc' -or -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 --pad-header \
       --keep-one-line-statements --convert-tabs \
       --indent-preprocessor \
       `find -type f -name '*.cpp' -or -name '*.cc' -or -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.

Emacs- ja Vim-skriptit

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.

Emacs

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.

Vim

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


Urs Wolfer aloitti dokumentin. Joitakin tämän dokumentin osia on otettu Zack Rusinin lähettämästä Qt-koodaustyylidokumentista kohteesta kde-core-devel.