Processus de développement Java

Fermé
assiah10
Messages postés
2
Date d'inscription
jeudi 23 juin 2022
Statut
Membre
Dernière intervention
25 juin 2022
- 23 juin 2022 à 16:11
KX
Messages postés
16563
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
1 juillet 2022
- 28 juin 2022 à 13:26
Bonjour,

Je commence tout juste à passer du développement php au développement Java (pour beaucoup plus/meilleures opportunités d'emploi ici en Allemagne, ouais nous sommes loin derrière...) et je "ai du mal" avec quelque chose auquel je n'avais pas pensé auparavant.

Avec les langages de script comme php, il y a rechargement à chaud. Vos modifications de code sont appliquées immédiatement, ce qui permet une expérience de codage rapide.

Étant donné que Java doit être compilé, je suppose qu'il n'y a rien de tel? Pour mon application de printemps, j'ai besoin de recompiler et de démarrer le serveur à chaque changement ? J'ai trouvé cette configuration pour le rechargement à chaud Java, mais même mon application Spring vide prend plus de 4 secondes à charger.

Je me demande simplement à quoi ressemble le flux de travail de développement d'un développeur Java chevronné.

De plus, comment les gens développent-ils de grandes applications qui nécessitent beaucoup de temps pour compiler ? Existe-t-il un moyen de ne travailler que sur une partie spécifique sans avoir à recompiler le tout?



Merci pour chaque conseil.

1 réponse

KX
Messages postés
16563
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
1 juillet 2022
124
28 juin 2022 à 13:26
Bonjour,

"Je me demande simplement à quoi ressemble le flux de travail de développement d'un développeur Java chevronné"
La très grande majorité du cycle de développement se fait "de tête" en écrivant des centaines de lignes de code d'une traite sans réellement démarrer l'application.
Puis il y a différentes phases de tests, les tests unitaires d'abord, qui se concentrent sur quelques lignes de codes, puis les tests d'intégration plus lourd mais avec un certain nombre de bouchons pour isoler le test, et enfin la phase de recette avec une application démarrée en condition réelle d'exécution mais sur un jeu de données de test.
Mais en tout état de cause, on ne fait pas des allers retours entre la phase d'écriture du code et la phase de recette, on ne teste pas ce que l'on fait après chaque ligne modifiée, on fait tout les changements d'un coup et après on vérifie tout en une fois.

"Existe-t-il un moyen de ne travailler que sur une partie spécifique sans avoir à recompiler le tout?"
L'IDE est suffisamment intelligent pour ne recompiler que ce qui a changé, les tests unitaires permettent aussi de vérifier une partie du code sans avoir à reprendre tout le processus à partir du main de l'application, en particulier sans avoir à charger tout le contexte Spring.

"comment les gens développent-ils de grandes applications qui nécessitent beaucoup de temps pour compiler ?"
En vrai ce n'est pas le temps de compilation qui est le plus long, mais le temps d'exécution des tests et de qualité du code (contrôles Sonar &co) qui mis bout à bout peuvent nécessiter plusieurs dizaines de minutes, toutefois c'est le genre de contrôles que l'on ne fait qu'à certains points clés du développement, en général au moment de la validation d'une merge request.
Et si vraiment ce temps devient trop long à supporter pour les développeurs, c'est qu'il est nécessaire de découper l'application en modules, chacun étant développés à part, ce qui peut poser d'autres problèmes de développement, comme par exemple devoir faire une modification sur plusieurs projets en même temps.
0