Plateforme GAIA - informatique Graphique, Analyse de données et Intelligence Artificielle

Assistance au development

De Plateforme GAIA - informatique Graphique, Analyse de données et Intelligence Artificielle
Aller à la navigation Aller à la recherche

Introduction

But

  • Simplifier/optimiser les developpements des doctorants / chercheurs / ingénieurs
  • Péreiniser les développements
  • Simplifier les collaboration inter/intra (équipe/laboratoire)
  • faciliter la reproductibilité des recherches

Comment

  • Formation en début de thèse
  • séminaires
  • Audits réguliers (au moins une fois par an) pour les doctorants
  • Assistance sur demande pour les chercheurs/ingénieurs


Practical general advises and references

RCS

put your code on a Revision Control System : git

Use Code Hosting Platform - github for free public code - private ICube GitLab for

Use CI to avoid manual launch of compilation/test

Coding convention

Always use a convention coding and be consistent. It could imposed by the team or preceeding works. There is lots of standard for each languages (see following sections)

References

[1] Software Development Best Practices in 2024


Python

  • [2] PEP 8 : Style Guide for Python Code
  • [3] Style Guide for Python Code

C

  • [4] SEI CERT C Coding Standard

C++

  • [5] SEI CERT C++ Coding Standard
  • [6] Best practise C++
  • [7] Google C++ style guide

multi-plateform development

Use packaged libraries dependencies if exist

 * Linux: debian:apt/redhat:yum/arch:pacman / ?:snap 
 * Mac: Homebrew
 * Windows: vcpkg


Java

  • [8] Oracle Code Conventions for the Java Programming Language
  • [9] java style rules
  • [10] Google java style rules

Javascript

  • [11] MDN Javascript guidelines
  • [12] W3Schools JavaScript Style Guide
  • [13] Google JavaScript Style Guide
  • [14] The Modern JavaScript Tutorial