- Interface utilisateur ° Pour plus de souplesse, comparer les chaînes sans tenir compte de la casse. - Tests unitaires ° Update tests (currently unmaintained). ° Finir le test de InputDataReader. ° Finir le test de Input. ° Finir le test de Output. ° Finir le test de Positioning. ° Tester InterlinkNetworks::compute() ? - Revoir le diagramme UML ° Associations : devraient êtres représentées par des attributs pointeurs. ° Compositions : devraient être représentées par des attributs normaux. - Positioning ° Afficher le nom de chaque algorithme lors de la sortie d'un résultat. ° Pour une requête, la sortie des résultats de tous les algos devrait se faire simultanément sur le medium de sortie, ce qui permettrait par exemple de créer un tableau pour l'affichage CSV (et peut-être d'optimiser les requêtes d'insertion dans la BDD). Cela implique de modifier les interfaces de Output (write() devra prendre un vector) et des différents OutputMedium. - Building Dans le destructeur, vérifier qu'il faut bien supprimer les Area et les Waypoint. Si oui, faut-il aussi les enlever des listes dans Stock ? (Pour l'instant ils ne sont pas dans Stock.) - ReferencePoint ° La liste des requêtes devrait être un unordered_set (et pas un vector), pour garantir l'unicité des entrées. - MinMax ° Différencier le pas pour X, Y et Z ? ° Régler le start & stop dans MultilaterationAlgorithm. - Mobile Attributs Viterbi ? (Cf. l'ancien clientinfo.hh.) - Renommages de membres ° InputMedium : °° current_line_nb et get_current_line_nb() °° get_next_request() −> read_next_request() ° Input : get_next_request() −> read_next_request() ° Area : p_min et p_max −> coord_min et coord_max - Doxygen ° Pourquoi une description détaillée placée dans un .cc ne s'affiche pas pour operator<<() ? - « C++ en action » ° Espaces de noms ? 109 ° Réserver l'espace mémoire des vector avec reserve(). 217 ° Copie de conteneur vers un flux (cas de certains operator<<). 275 - « Coder proprement » ° Revoir toutes les classes pour respecter si possible les principes exposés dans le chapitre 6 (p. 103) : implanter systématiquement des accesseurs pour tous les attributs d'une classe expose l'implantation de la classe et rend ses attributs publics. La classe Direction (et maintenant Timestamp) tend à respecter ce principe en utilisant mieux les opérateurs et en ne proposant pas d'accesseur direct. - Divers ° Passage de pointeurs en argument : const * const - Timestamp Dans les tests, il y a une probabilité de 1/1000000 que la valeur en ns et la valeur arrondie en ms soient identiques. Dans ce cas, certains tests peuvent échouer.