Difference between revisions of "Buenas prácticas"

From Asibot & HOAP3 & TEO Wiki
Jump to navigation Jump to search
Line 3: Line 3:
 
** Redacción de publicaciones: Consultar para la URL exacta, distribuidos a través de http://robots.uc3m.es/svn/* (SVN, privado)
 
** Redacción de publicaciones: Consultar para la URL exacta, distribuidos a través de http://robots.uc3m.es/svn/* (SVN, privado)
 
== Programación ==
 
== Programación ==
* [http://asrob.uc3m.es/index.php/Tutorial_CMake CMake] para cualquier proyecto C/C++.
+
* Para crear un nuevo proyecto C/C++, utiliza [https://github.com/roboticslab-uc3m/project-generator project-generator].
 +
* Si hay problema con project-generator, [https://github.com/roboticslab-uc3m/project-generator/issues coméntalo en la sección de issues]. Si sigues con motivos en contra, por lo menos no dejes de utilizar [http://asrob.uc3m.es/index.php/Tutorial_CMake CMake] para cualquier proyecto C/C++.
 
* Utiliza UpperCamelCase para nombres de librerías y de clases.
 
* Utiliza UpperCamelCase para nombres de librerías y de clases.
 
* Utiliza lowerCamelCase para nombres de ejecutables.
 
* Utiliza lowerCamelCase para nombres de ejecutables.

Revision as of 12:47, 21 May 2016

  • Siempre, para cualquier archivo de trabajo, por muy insignificante o borrador que parezca, utiliza uno de los repositorios compartidos:

Programación

  • Para crear un nuevo proyecto C/C++, utiliza project-generator.
  • Si hay problema con project-generator, coméntalo en la sección de issues. Si sigues con motivos en contra, por lo menos no dejes de utilizar CMake para cualquier proyecto C/C++.
  • Utiliza UpperCamelCase para nombres de librerías y de clases.
  • Utiliza lowerCamelCase para nombres de ejecutables.
  • NO utilizar números en nombres de ficheros para indicar versiones/intentos/iteraciones... ¡Para eso ya existen los hash y tag de los sistemas de control de versiones!
  • Mantén un main() minimalista: implementa tu programa como una clase.
  • Si tienes un dispositivo, impleméntalo como una clase, idealmente como un YARP device.
  • Tests, tests, tests! Idealmente, para cada clase, y desarrollado a la par de la clase.