diff --git a/algorithmique/cours/langage.txt b/algorithmique/cours/langage.txt index 526a543..b38f879 100644 --- a/algorithmique/cours/langage.txt +++ b/algorithmique/cours/langage.txt @@ -168,7 +168,8 @@ différentes : qui ne satisfont pas à la règle du KISS (Keep It Simple, Stupid) ; -Les supports objets sont riches et variés, +Il n'y a pas **une** POO (Programmation Objet), il y a des POO. +Les implémentations objets dans les langages sont riches et variées : - objets obligatoirement construits pas des classes (Java, C++, ...) - objets sans définition de classes (javascript, Ocaml, go, rust) diff --git a/algorithmique/cours/modularite.txt b/algorithmique/cours/modularite.txt index 9947bfe..d7b58b9 100644 --- a/algorithmique/cours/modularite.txt +++ b/algorithmique/cours/modularite.txt @@ -1,5 +1,5 @@ -La programmation modulaire -========================== +L'organisation d'un programme +============================= Structuration d'un programme ----------------------------- @@ -34,7 +34,7 @@ classes, en particulier l'héritage permet de définir une classe par extension d'une autre. Comparaison entre les deux paradigmes -------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Il y a dualité entre ces deux modèles. @@ -49,3 +49,23 @@ Il y a dualité entre ces deux modèles. **La combinaison des deux paradigmes offre de nouvelles extensibilités pour les traitements et les données.** +Les méthodologies agiles +------------------------- + +La manière dont le code est produit importe énormément. Par exemple, une +méthodologie ou le **refactoring** (réécriture de code) est permis et même conseillé +a plus de chance de produire du code organisé. + +Les méthodologies agiles produisent en général du code mieux organisé. Ce sont les +méthodes de travail les plus en vogue aujourd'hui, elles mettent l'accent sur : + +- Du logiciel fonctionnel plutôt que de la documentation exhaustive +- La réponse au changement plutôt que le suivi d'un plan +- Le logiciel fonctionnel est la principale mesure d'avancement +- Une attention continue à l'excellence technique et à une bonne + conception améliore l'agilité +- La simplicité est essentielle (il est facile de faire, il est + difficile de faire simple) + + +