13 points par xguru 2020-03-18 | 1 commentaires | Partager sur WhatsApp
  • Réécrit en Rust et déployé sur une période de 4 ans

  • Le composant principal (Control) fonctionne en single-thread et traite l’asynchrone avec des futures

  • Fonctionne de manière entièrement déterministe pour une entrée donnée

→ Les tests aléatoires deviennent possibles et la reproduction des bugs est facilitée

  • Points pris en compte avant de lancer la réécriture

✓ Avez-vous essayé de refactoriser ?

✓ Avez-vous tenté d’améliorer les performances en optimisant les parties critiques ?

✓ Pouvez-vous apporter une valeur supplémentaire ?

✓ Comprenez-vous parfaitement le système actuel dans son intégralité ?

✓ Disposez-vous de suffisamment de temps de développement ?

✓ Est-il acceptable de retarder l’ajout de nouvelles fonctionnalités au moteur existant ?

✓ Pourquoi pensez-vous qu’une réécriture serait bénéfique ?

✓ Quels sont les principes du nouveau système ?

1 commentaires

 
xguru 2020-03-18

Ce sont les questions qu’il faut se poser avant de dire : « Refaisons entièrement le système existant ».