Géger du Code Legacy

Comme décrit dans ma présentation, je m’intéresse à la vie du code Legacy. Et non sa mort. Les avis divergent, mais pourquoi pas.

Aussi j’aimerai discuter des points de vu de l’organisation (souvent organique, qui évolue) autour du code Legacy.

Je m’explique:

Le code Legacy, c’est quoi ?

Version courte:

C’est tout code qui n’a pas de test.

Version longue:

Du code en production, qui n’est plus maintenu, ou, dont les développeurs initiaux ne sont plus à même de maintenir le code, et que l’on continue à utiliser car le code accompli des tâches critiques et difficilement remplaçables sans engendrer des projets coûteux et risqués. Généralement, l’amélioration autour du code Legacy engendre une profusion de wrapper parfois programmé dans des langages différents.

C’est ça, du code Legacy !

</fin définition>

Du coup mon objectif est de ramener progressivement le code sous test, et d’ajouter les outils nécessaires pour que l’équipe puisse faire évoluer le code.

Je dois aussi jouer avec les “mauvaises” habitudes des développeurs qui n’utilisaient pas d’outils, et développait au fil de l’eau, FTP directe sur le serveur, copier coller de code, et autre joie du “quick fix” (résolution rapide par duplication massive).

Mes interrogations:

  • Y a t-il des hiérarchie de code, qu’il est plus facile à mettre en place que d’autre ?
  • mise en place progressive, d’outils qui au départ semble des obstacles à la “créativité” , dans quel ordre ?
  • GUI ou command line ?

S’il y a un autre lieu que Géneral pour poster ça, merci de me préciser. :wink:

1 « J'aime »

Hiérarchie du code

Concernant Hiérarchie du code j’ai donc des dépôts git pour les projets (web, webjs, scripts, code compilé, etc.)

Hiérarchie web

Sur le serveur de Dev web:

/home/USER/PROJECT_REPOS/web <== DocumentRoot (modifiable via symlink)
/home/USER/current => /home/USER/PROJECT_REPOS <== symlink

Avec un outil, en cours de développement, mkweb qui permet de changer le projet.

un vhost: USER.dev.DOMAIN.fr

Je pense utiliser ansible en local sur le serveur pour paramétrer le vhost apache:

ServerName USER.dev.DOMAIN.fr
DocumentRoot /home/USER/current/web

À suivre…
Je vais éditer ce post comme référence sur la Hiérarchie du code