Dette technique

Définition - Que signifie la dette technique?

La dette technique est un concept de programmation qui reflète le travail de développement supplémentaire qui survient lorsque du code facile à implémenter à court terme est utilisé au lieu d'appliquer la meilleure solution globale.

La dette technique est communément associée à une programmation extrême, notamment dans le cadre du refactoring. Autrement dit, cela implique que la restructuration du code existant (refactoring) est nécessaire dans le cadre du processus de développement. Dans le cadre de cette réflexion, le refactoring n'est pas seulement le résultat d'un code mal écrit, mais est également basé sur une compréhension évolutive d'un problème et de la meilleure façon de résoudre ce problème.

La dette technique peut également être appelée dette de conception.

Definir Tech explique la dette technique

Le terme a été inventé par Ward Cunningham, un programmeur qui est également connu pour développer le premier wiki. La dette technique est une métaphore qui assimile le développement de logiciels à la dette financière. Imaginez que vous avez un projet qui a deux options potentielles. L'un est rapide et facile, mais nécessitera des modifications à l'avenir. L'autre a une meilleure conception, mais sa mise en œuvre prendra plus de temps. En développement, publier du code comme une approche simple et rapide, c'est comme s'endetter - cela s'accompagne d'une obligation d'intérêts, qui, pour la dette technique, prend la forme d'un travail supplémentaire à l'avenir. Prendre le temps de refactoriser équivaut à rembourser le principal. Bien que cela prenne du temps à court terme, cela diminue également les paiements d'intérêts futurs.

Ward Cunningham décrit ce concept en 1992 comme suit:

"Expédier du code pour la première fois, c'est comme s'endetter. Un peu de dette accélère le développement tant qu'elle est remboursée rapidement avec une réécriture. Les objets rendent le coût de cette transaction tolérable. Le danger survient lorsque la dette n'est pas remboursée. Toutes les minutes Les dépenses consacrées à un code qui n'est pas tout à fait correct sont comptabilisées comme des intérêts sur cette dette. Des organisations d'ingénierie entières peuvent être immobilisées sous l'endettement d'une implémentation non consolidée, orientée objet ou autre. "

Le concept ne signifie pas que la dette ne devrait jamais être contractée. Tout comme l'effet de levier peut aider une entreprise lorsqu'il est utilisé correctement, une solution rapide peut se traduire par une mise sur le marché plus rapide du développement de logiciels. En outre, la dette technique n'est pas seulement un code médiocre. Un mauvais code est un mauvais code, et la dette technique peut résulter du travail de bons programmeurs sous des contraintes de projet irréalistes.