[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