Developpez.com

Le Club des Développeurs et IT Pro

La solution temporaire la plus vieille sur Linux a fêté son 21e anniversaire ce weekend

Elle concernait les cartes graphiques Atari

Le 2017-04-24 08:41:15, par Stéphane le calme, Chroniqueur Actualités
Il arrive que les développeurs mettent sur place dans leur code des solutions temporaires pour gérer un problème. Ces solutions temporaires peuvent parfois être nécessaires, par exemple s’il faut attendre l’implémentation d’une API d’un éditeur ou faciliter le travail d’autres développeurs. Certains peuvent également le faire à cause des délais ; ils sont fatigués de se torturer l’esprit et mettent en place ce « code spaghetti » qu’ils se promettent de venir remplacer plus tard quand ils auront moins de pression (même s’ils finissent par ne plus le remplacer, après tout, la solution marche, non ?).

Les prototypes finissent par être de dangereuses mutations des solutions temporaires. En général, ils commencent par être des démos ou présentations pour des clients. Puis, sans crier gare, ils sont implémentés en production et sont même maintenus.

Le 22 avril, l’une des plus anciennes solutions temporaires dans le noyau Linux pour les cartes graphiques Atari dans arch/m68k/atari/config.c a fêté son 21e anniversaire.

Code :
1
2
3
4
5
6
7
/* This is a temporary hack: If there is Falcon video
 * hardware, we assume that the ST-DMA serves SCSI instead of
 * ACSI. In the future, there should be a better method for
 * this...
 */
ATARIHW_SET(ST_SCSI);
printk("STDMA-SCSI ");
Il est apparu en premier dans la version 1.3.94 du noyau publiée le 22 avril 1996.

Source : blog Kazet

Et vous ?

À quelle fréquence vous servez-vous des solutions temporaires ? La plupart du temps, quelles sont vos motivations ?

Avez-vous aussi implémenté des solutions temporaires dans votre code qui y sont toujours ?
  Discussion forum
4 commentaires
  • Max Lothaire
    Membre confirmé
    Tant que ça marche et que ça ne pose pas de problème à ceux qui en ont encore besoin.
  • Shepard
    Membre expérimenté
    Envoyé par Max Lothaire
    Tant que ça marche et que ça ne pose pas de problème à ceux qui en ont encore besoin.
    Il ne serait pas étonnant que ceux qui en ont encore besoin soient les auteurs de ce code à mon humble avis
  • abriotde
    Membre chevronné
    Dans le cas de ce patch temporaire sur Linux, il est bien précisé que c'est parce que le développeur n'avait pas trouver d'autres moyens car le pilote est fermé. C'est donc la seul solution. Elle n'a de temporraire que le seul fait qu'elle ne satisfasse pas le développeur. Si elle ne le satisfait pas c'est certainement parce qu'elle n'est pas très propre. Mais en informatique parfois le patch est pratiquement la seul solution. C'est rare mais pas impossible. En outre le patch comme c'est le cas ici peux t'être la seul solution trouvé faute de mieux. Il n'est donc pas étonnant qu'il reste longtemps.
  • TiranusKBX
    Expert confirmé
    Dans un de mes programmes qui tournent encore j'ai bien un patch rapide du genre depuis 11 ans ...