Book content

Skip to reader controlsSkip to navigationSkip to book detailsSkip to footer
1.6.SŁowookonwencjachiStYlukodowaniawwxwidgetS
31
PełnąlistęwytycznychkodowaniazwxWidgetsznajdziesznastronieprojektu,natomiastponiżej
zapoznamCięztymielementamikonwencjikodowania,któresubiektywnieuznałemzanajistotniej-
szeiktórepozwoląCinapisaniekoduumożliwiającegoefektywnyudziałwwiększychprojektach
wxWidgetsorazzapewniającegoaprobatęiwsparciespołecznościskupionejwokółbiblioteki.
1.6.1.
Pliki
ZgodniezprzyjętymiprzezspołecznośćwxWidgetskonwencjamikażdyplikźródłowymającycokol-
wiekwspólnegozwxWidgetspowinienmiećodpowiednikomentarznagłówkowy,któryzwyklepowi-
nienwyglądaćtak:
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/
//Name:
mainicpp
//Purpose:
MywxWidgetsapp
//Author:
ImieNazwisko<imieinazwisko@emailiorg>
//Created:
2018-01-01
//Copyright:
(c)2018ImieNazwisko
//Licence:
wxWindowslicence
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/
DatautworzeniaplikupowinnabyćzawszezapisanawformacieISO8601,tj.YYYY-MM-DD,
natomiastwpolulicencjinależywpisaćnazwęlublinkdotekstuwłaściwejlicencji,oilenieużywasz
licencjiwxWidgets.WięcejprzydatnychinformacjiiwskazówekdotyczącychlicencjiwxWidgets
znajdzieszwdodatkuA.
Ponadtokażdypliknagłówkowy,opróczodpowiedniegokomentarza,powinienzawieraćkod
zabezpieczającyplikprzedwielokrotnymdołączeniempodczaskompilacji.WwxWidgetsprzyjęto
następującąformę:
#ifndef_MAIN_H_
#defne_MAIN_H_
//Kodprogramu
#endif//ENDOF_MAIN_H_
Opróczpowyższychistniejejeszczekilkapomniejszychregułwypracowanychprzezprogrami-
stówwciągulatpracyzwxWidgetsizaakceptowanychprzezspołecznośćskupionąwokółbiblioteki,
aktóredotycząorganizacjiplikówprogramuorazichnazw.Przyjęłosięnaprzykład,żewszystkie
plikipowinnynosićnazwyzłożonezmałychliter.Innezasadyokreślająszczegółowo,wjakisposób
powinnybyćzorganizowanefolderyiplikiprojektuprogramistycznego.Choćniechcęodbieraćtym
wytycznymichwagi,zewzględówpraktycznychidydaktycznychnastronachtejksiążkizastosuję
wtejmateriikilkauproszczeń,którebezwątpieniarzucąCisięwoczy.
1.6.2.
Konwencjenazewnicze
Używajprefiksuwxdlawszystkichpublicznychklas,funkcji,makristałych.
Nazwystałychpiszwyłączniewielkimiliterami,np.BUFFER–SIZE.
NazwyfunkcjipiszzgodniezzasadąCamelCaseName().
NazwyzmiennychpiszzgodniezzasadącamelCaseName.
DlanazwfunkcjioperującychnaskładnikachklasyużywajkonwencjiprzeciwstawnychSet
(ustaw)iGet(pobierz),naprzykładSetTimeValue()iGetTimeValue().
1.6.3.
Stylkodowania
Podczasformatowaniakodudlawcięćwhierarchiiblokówkoduiinstrukcjisterującychzamiast
tabulatoraużywajpoczwórnejspacji.Niektóreśrodowiskaumożliwiająustawienieopcji,która
wciśnięcietabulatorakonwertujenapoczwórnąspację.