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

Différences entre les versions de « Assistance au development »

De Plateforme GAIA - informatique Graphique, Analyse de données et Intelligence Artificielle
Aller à la navigation Aller à la recherche
Ligne 22 : Ligne 22 :
  
 
Use Code Hosting Platform
 
Use Code Hosting Platform
- github for free public code
+
* github for free public code
- private ICube GitLab for
+
* private ICube GitLab for
  
 
Use CI to avoid manual launch of compilation/test
 
Use CI to avoid manual launch of compilation/test
Ligne 49 : Ligne 49 :
 
=== multi-plateform development ===
 
=== multi-plateform development ===
 
Use packaged libraries dependencies if exist
 
Use packaged libraries dependencies if exist
  * Linux: debian:apt/redhat:yum/arch:pacman / ?:snap  
+
* Linux: debian:apt/redhat:yum/arch:pacman / ?:snap  
  * Mac: Homebrew
+
* Mac: Homebrew
  * Windows: vcpkg
+
* Windows: vcpkg
  
  

Version du 4 avril 2024 à 15:38

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