La TodoList? de Victor

Probalement que cette page irait mieux dans un fichier TODO à la racine, mais là, j'ai un peu la flemme. Et je la trouve aussi accessible ici.

Alors, dans le désordre, les composants sur lesquels j'aimerai retravailler. Ce sont principalement des bouts de code récupéré de mes anciens projets, repris ici pour essayer d'aller vite et d'obtenir quelque chose de palpable. Eh oui, je suis plus motivé quand quelque chose fonctionne.

  • Le code réseau. Je l'ai repris d'un précédent projet, en croyant que ca allait bien s'adapter, mais en fait pas tant que ca. Et le passage sous windows lui a fait du mal.
  • Le parser YAML. Pour l'instant, j'utilise syck d'une manière assez déguelasse. Conserver syck, mais en l'utilisant un peu mieux, et fournir une interface un peu plus générique. Pour ce cas, le problème du C++, par rapport au langages de scripts est qu'il est fortement typé, et j'ai pas envie de retourner au void*. Peut etre avec des unions ?
    • Le logger. Code a l'origine fait pour le C, avec des bonnes macros. Mais il s'adapte pas trop bien au C++, et on perd les facilités de iostream (par exemple, surcharger << pour dumper une classe). En plus, VC++ 7.0 m'a a peu près explosé ce qui restait de bien, en refusant de supporter les macros à arguments variable :/ Donc, refaire une jolie class Logger, avec les bonnes méthodes, le niveau de verbose, l'affichage du module en couleur.
    • Arreter avec les valeurs de retour dans tous les sens, sensé dire si la fonction a réussi ou echoué. Passer aux exceptions.

Concernant les règles, vous remarquerez peut-etre que je suis en train d'y aller completement à l'arrach', alors que tout le monde parle de modéliser. En fait, je n'ai aucune idée de comment modéliser, donc d'abord je code, ensuite je regarde comment j'aurais du m'y prendre. J'essaie autant que possible de séparer tous les composants, donc à priori il sera possible de refaire toutes la gestion des règles sans toucher au reste du code.

En vrac:

  • Essayer de voir comment fonctionne gettext, et, pourquoi pas, l'utiliser.

Pour le fichier propal.pdf:

  • Rajouter, dans les règles, la manière dont le terrain est défini, comme une matrice, row/col et i/j, surtout pas x/y. Avec un dessin.
  • Preciser server => synchrone, clients => asynchrone