Logiciel open source de calcul numérique

Passer au contenu principal

Développement

Scilab est principalement développé par Scilab Enterprises, mais votre participation est bienvenue.

N'hésitez pas utiliser les Liens Utiles pour en savoir plus, en particulier pour déposer des bugs.

De notre coté, notre but est d'assurer:

 La qualité du code

  • Le style de code a été défini pour tous les langages utilisés dans Scilab (C, C + +, Java, XML, Scilab, Makefiles, ...)
  • Le Checkstyle est disponible pour Java sous Eclipse
  • Tout code doit être documenté (commentaires utilisant Javadoc, Doxygen, ...)
  • Comme pour l’intégration de nouvelles fonctionnalités, chaque modification de code dans Scilab est revue et validée par un autre développeur.

Les tests

  • Tests unitaires (~ 1300) : chaque nouvelle fonctionnalité est intégrée seulement si elle a un test correspondant et que celui-ci s’exécute correctement sur toutes les plateformes prises en charge par Scilab,
  • Tests de non régression (~ 1900) : à chaque correction de bug, un test est écrit pour s’assurer de sa bonne correction et éviter toute régression future,
  • Les outils de couverture de code sont utilisés pour vérifier la qualité des tests.

 La génération des versions binaires

  • Chaque modification dans le dépôt GIT de Scilab lance un processus d'intégration continue basé sur Jenkins,
  • Les versions binaires générées quotidiennement par un processus de nightly build exécutent tous les tests unitaires et les tests de non régression, pour toutes les plateformes prises en charge,
  • Différents compilateurs sont pris en charge (Visual Studio, Intel, GCC, Clang, ...)

L'intégration de nouvelles fonctionnalités proposées par la communauté suit en principe le process suivant

  • La rédaction des spécifications : SEP (Scilab Enhancement Proposal)
  • Le respect du style de code défini pour Scilab au cours du développement
  • L’écriture de tests unitaires
  • La rédaction de la page d’aide correspondante