• # En lisant les diapos

    Posté par . En réponse au journal Encore un exemple de code spaghetti : Toyota. Évalué à 10. Dernière modification le 06 mars 2014 à 01:07.

    Les diapos envoient du lourd.

    Les inputs sont relativement limitées, cependant le code ne contrôle pas d'où vient quelle info. Donc, si la mémoire est corrompue, cela a des impacts imprévisibles, et la tâche qui gère l'accélérateur peut se bloquer, impossible de freiner. Et comme on ignore complètement les mécanismes de protection de la mémoire déjà mis à disposition dans le matériel et qu'ils ont été réimplémentés avec les pieds d'un cochon...

    Une API, l'OSEK, est justement disponible pour faire des OS aux firmwares disposés à finir dans une voiture. C'est du testé, du retesté, c'est du bon mangez-en. Sauf que Toyota a utilisé une version non standard, donc pas du tout certifiée compatible avec la spec d'OSEK, alors qu'il y avait des versions standard depuis 2002 pour le matériel utilisé. (page 28)

    Et le plus beau pour la fin, une définition page 22 :

    Spaghetti code: n. Incomprehensible source code, typically including apparently meaningless jumps or gotos or a high degree of unnecessary coupling between modules.

    Les ressources disponibles ne disent pas si c'est la faute à goto cette fois.

    Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/