[Desenvolupament] Catalanitzador (refactorings i estil del codi)
NoAntzWk
noantzwk a gmail.com
dic oct 17 10:07:52 CEST 2012
Hola a tots/es,
Aquest és el primer missatge que escric a la llista. En Jordi em va
comentar el tema del projecte del Catalanitzador i que si tenia ganes i
temps hi havien força coses a fer. Bé he començat a fer algunes
refactoritzacions i volia comentar alguns aspectes tant en l'estil de
codificació com en les refactoritzacions del codi.
*Estil de codificació:*
- Declarar les constants i les macros al principi del .cpp i no
intercalat entre les definicions dels mètodes.
- Inicialitzar tots els arrays *char* o *wchar_t* a 0 (per exemple, *char
** szText[1024] = {0};*). En *debug *el compilador ja ho fa però en *
release* no i aquesta és una font comú d'errors.
*Refactorització wchar_t:*
- En les classes derivades de *Action *no s'inicialitza *szName *i
*szDescription
*fins que es truca als mètodes *GetName*() i *GetDescription*(). És per
alguna cosa en concret? Si el valor pot canviar dinàmicament d'acord té
sentit, però si el seu valor és invariant durant la vida del objecte té més
sentit inicialitzar-ho en el constructor de cada classe derivada. Més
encara el *GetName*() i *GetDescription*() es podrien implementar a la
classe base sense declarar-los com virtuals purs (Self Encapsulate Field
pattern) i que cada classe derivada inicialitzi al constructor el valor que
necessiti. D'aquesta manera també simplifiques la implementació de les
classes derivades de *Action*, ja que no cal implementar aquests dos
mètodes virtuals.
*Errors:*
- Al mètode WindowsLiveAction::GetDescription() hi ha un petit bug.
Hauria de ser: *return
_getStringFromResourceIDName(IDS_WINDOWSLIVE_DESCRIPTION, szDescription);
*
Salut.
--
David.
-------------- part següent --------------
Un document HTML ha estat eliminat...
URL: <http://llistes.softcatala.org/pipermail/catalanitzador/attachments/20121017/d5388dd7/attachment.html>
Més informació sobre la llista de correu Desenvolupament