-
Notifications
You must be signed in to change notification settings - Fork 2
Conventions de programmation et structure du projet
##Conventions de programmation
(1) Utiliser des espaces et non des tabulations.
Ne pas utiliser des tabulations, mais des espaces. Ça évite les problèmes de transfert entre différents IDE et éditeurs de texte comme Eclipse, CLion, gedit, etc.
1 tab = 4 espaces
(2) Attributs privés
Les attributs privés doivent être distingués avec une barre en bas ("_").
class Dummy {
public:
// ...
private:
int myPrivateAttribute_;
}
(3) Tags
Les tags du projet sont :
// TODO:
// FIXME:
// QUESTION: quand on n'est pas trop certain de la stratégie à adopter
// TOTEST:
##Structure du projet
####Namespaces
(1) Chaque noeud ROS a son propre namespace.
Comme les noeuds ROS ont des classes très similaires (par exemple : le GroundRobot de la simulation et celui du AI), on évite ainsi les confusions.
namespace elikos_ai { // ... }
namespace elikos_simulation { // ... }
namespace elikos_robotdetect { // ... }
namespace elikos_localization { // ... }
(2) Toujours utiliser les namespace d'Élikos explicitement.
Encore une fois, on veut éviter les confusions puisque de nombreuses classes sont semblables entre les noeuds ROS.
// bonne pratique
elikos_ai::Agent* agent = new elikos_ai::Agent();
// mauvaise pratique
using namespace elikos_ai;
Agent* agent = new Agent();
Les autres namespaces peuvent être utilisés avec ou sans 'using'.
// ok
using namespace std;
vector<string> chaine();
// ok
std::vector<std::string> chaine();
- Ajouter un sujet au Wiki
- [Hardware diagram] (https://github.com/elikos/elikos_ros/wiki/Hardware-diagram)
- Guide de Pilotage
- Calibrate Firefly for SVO
- Caméra : l'utiliser + enregistrer vidéos
- OpenCV installation et compilation pour Ubuntu
- Odroid setup
- Créer un package ROS
- Rouler les noeuds ROS
- Déboguer un noeud ROS avec Visual Studio Code
- Lancer une simulation
- Lancer une simulation avec Gazebo
- MSF: Installation et lancement
- Kontron usage
- Conventions de programmation + structure du projet
- [Quick setup pour elikos_ros] (https://github.com/elikos/elikos_ros/wiki/Quick-setup-pour-elikos_ros)
- [AI : lectures recommandées + plan] (https://github.com/elikos/elikos_ros/wiki/AI-:-plan-et-lectures-recommand%C3%A9es)
Page 1
Page 2
Page 1
Page 2
- [Guide du directeur technique] (https://github.com/elikos/elikos_ros/wiki/Guide-du-directeur-technique)