0
La qualité au-delà du code                 ConFoo 2012                   1
Jean-Marc FontainePassionné de web depuis 1996, de PHP depuis 2000 et demusique depuis 1977  ‣ Consultant PHP chez Alter W...
La qualité au-delà du code                             3
“Cest seulement quand lhiver est arrivéquon saperçoit que le pin et le cyprèsperdent leurs feuilles après tous les autresa...
70%Environ 70% du tempsconsacré à un applicatif l’estdans sa maintenance                                 5
Compréhensibilité   1   Portabilité      5Cohérence           2   Testabilité      6Exhaustivité        3   Fiabilité     ...
Compréhensibilité                    7
DocumentationLa documentation doit être de qualité, exhaustive età jour                                                   ...
CommentairesLes commentaires doivent compléter le code pas leparaphraser                                                  ...
ComplexibilitéToute chose devrait être rendue aussi simple quepossible, mais pas plus. - Albert Einstein                  ...
Mise en forme du codeFaire en sorte que la forme ne vienne pas perturberla compréhension du fond                          ...
Cohérence            12
NommageLe nommage des éléments doit être logique,cohérent et pertinent                                             13
DocumentationLe style et la langue de la documentation doiventêtre uniformes d’un bout à l’autre                          ...
Mise en forme du codeL’ensemble du code doit suivre les règles de codage.Pas d’exception !                                ...
Exhaustivité               16
Application complèteL’application est-elle totalement fonctionnelle ?                                                    17
Eléments temporairesLes éléments temporaires doivent être absent de laversion finale                                       ...
Interfaces externesEst-ce que les interfaces externes sont disponibles ?                                                  ...
DonnéesEst-ce que les données nécessaires sont présentes ?                                                      20
Concision            21
22
DocumentationLa documentation doit être complète mais éviter leslongueurs inutiles                                        ...
LibrariesChaque librairie présente doit avoir son utilité                                                   24
Code mortLe code mort augmente inutilement la taille del’application                                                 25
Code dupliquéLe code dupliqué doit être factorisé pour simplifiersa maintenance                                            ...
Portabilité              27
Nouveaux environnementsLa configuration de l’application doit permettre dela déployer facilement sur de nouveauxenvironneme...
Dépendances logiciellesAvoir un minimum de dépendances logiciellespermet de diffuser plus largement son application       ...
Testabilité              30
Critères d’acceptationPour tester une application il faut connaître lescritères d’acceptation du client                   ...
Séparation des responsabilitésUne application dont les responsabilités sontclairement séparées pourra évoluer plus facilem...
Code testableUn code fonctionnel n’est pas forcément un codetestable                                                  33
Injection de dépendanceL’injection de dépendance permet de découpler le code                                              ...
Types de testIl existe de nombreux types de tests qui sont plus ou moinsadapté au contexte d’une application ‣ Tests unita...
Fiabilité            36
Tolérance aux erreursUne application ne devrait pas être indisponible dèsque survient un problème mineur                  ...
Mode dégradéUn service réduit est mieux que pas de service dutout                                                    38
SécuritéQuelque soit le domaine économique, la sécurité estun enjeu important pour une application                        ...
Maintenabilité                 40
Installation / Mise à jourL’installation et la mise à jour d’une application doitêtre le plus simple possible             ...
LogsUn système de logs permet de comprendre la vieinterne de l’application                                                ...
DébogageIl faut éviter les pratiques compliquant le débogagede l’application                                              ...
Compréhensibilité   1   Portabilité      5Cohérence           2   Testabilité      6Exhaustivité        3   Fiabilité     ...
Merci ! ‣ Commentaires et slides : https://joind.in/5966 ‣ Blog : http://www.industrialisation-php.com/ ‣ Twitter : @jmfon...
Crédits photographiquesLes photos et illustrations suivantes ont été utilisées dans cetteprésentation. Merci à leurs auteu...
Prochain SlideShare
Chargement dans... 5
×

La qualité au-delà du code - ConFoo 2012

1,298

Published on

Les cycles de développement des applications raccourcissent de plus en plus. La pression se fait plus forte sur les équipes de développement qui sont poussées à développer en mode mercenaire, où seul le résultat immédiat compte. Cette vision est généralement contre-productive sur le long-terme car on passe beaucoup plus de temps à maintenir une application qu'à la développer. Il est donc primordial de s'assurer de sa qualité au delà de l'adéquation avec le besoin fonctionnel.

Cela passe par de nombreux éléments dont bien entendu la qualité du code source mais pas seulement. La présence de documentations pertinentes et à jour, les types et l'étendue des tests mis en place, l'architecture de l'application ou encore sa portabilité sont autant de facteurs clés du succès d'un projet.

Published in: Technologies
0 commentaires
0 mentions J'aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Be the first to like this

Aucun téléchargement
Vues
Total des vues
1,298
Sur Slideshare
0
À partir des ajouts
0
Nombre d'ajouts
1
Actions
Partages
0
Téléchargements
25
Commentaires
0
J'aime
0
Ajouts 0
No embeds

No notes for slide

Transcript of "La qualité au-delà du code - ConFoo 2012"

  1. 1. La qualité au-delà du code ConFoo 2012 1
  2. 2. Jean-Marc FontainePassionné de web depuis 1996, de PHP depuis 2000 et demusique depuis 1977 ‣ Consultant PHP chez Alter Way ‣ Ex-Président de l’AFUP ‣ Co-Auteur du livre blanc «Industrialisation PHP» ‣ Auteur du blog industrialisation-php.com 2
  3. 3. La qualité au-delà du code 3
  4. 4. “Cest seulement quand lhiver est arrivéquon saperçoit que le pin et le cyprèsperdent leurs feuilles après tous les autresarbres” Confucius 4
  5. 5. 70%Environ 70% du tempsconsacré à un applicatif l’estdans sa maintenance 5
  6. 6. Compréhensibilité 1 Portabilité 5Cohérence 2 Testabilité 6Exhaustivité 3 Fiabilité 7Concision 4 Maintenabilité 8 6
  7. 7. Compréhensibilité 7
  8. 8. DocumentationLa documentation doit être de qualité, exhaustive età jour 8
  9. 9. CommentairesLes commentaires doivent compléter le code pas leparaphraser 9
  10. 10. ComplexibilitéToute chose devrait être rendue aussi simple quepossible, mais pas plus. - Albert Einstein 10
  11. 11. Mise en forme du codeFaire en sorte que la forme ne vienne pas perturberla compréhension du fond 11
  12. 12. Cohérence 12
  13. 13. NommageLe nommage des éléments doit être logique,cohérent et pertinent 13
  14. 14. DocumentationLe style et la langue de la documentation doiventêtre uniformes d’un bout à l’autre 14
  15. 15. Mise en forme du codeL’ensemble du code doit suivre les règles de codage.Pas d’exception ! 15
  16. 16. Exhaustivité 16
  17. 17. Application complèteL’application est-elle totalement fonctionnelle ? 17
  18. 18. Eléments temporairesLes éléments temporaires doivent être absent de laversion finale 18
  19. 19. Interfaces externesEst-ce que les interfaces externes sont disponibles ? 19
  20. 20. DonnéesEst-ce que les données nécessaires sont présentes ? 20
  21. 21. Concision 21
  22. 22. 22
  23. 23. DocumentationLa documentation doit être complète mais éviter leslongueurs inutiles 23
  24. 24. LibrariesChaque librairie présente doit avoir son utilité 24
  25. 25. Code mortLe code mort augmente inutilement la taille del’application 25
  26. 26. Code dupliquéLe code dupliqué doit être factorisé pour simplifiersa maintenance 26
  27. 27. Portabilité 27
  28. 28. Nouveaux environnementsLa configuration de l’application doit permettre dela déployer facilement sur de nouveauxenvironnements 28
  29. 29. Dépendances logiciellesAvoir un minimum de dépendances logiciellespermet de diffuser plus largement son application 29
  30. 30. Testabilité 30
  31. 31. Critères d’acceptationPour tester une application il faut connaître lescritères d’acceptation du client 31
  32. 32. Séparation des responsabilitésUne application dont les responsabilités sontclairement séparées pourra évoluer plus facilement 32
  33. 33. Code testableUn code fonctionnel n’est pas forcément un codetestable 33
  34. 34. Injection de dépendanceL’injection de dépendance permet de découpler le code 34
  35. 35. Types de testIl existe de nombreux types de tests qui sont plus ou moinsadapté au contexte d’une application ‣ Tests unitaires ‣ Tests fonctionnels ‣ Tests de charge ‣ Tests de sécurité 35
  36. 36. Fiabilité 36
  37. 37. Tolérance aux erreursUne application ne devrait pas être indisponible dèsque survient un problème mineur 37
  38. 38. Mode dégradéUn service réduit est mieux que pas de service dutout 38
  39. 39. SécuritéQuelque soit le domaine économique, la sécurité estun enjeu important pour une application 39
  40. 40. Maintenabilité 40
  41. 41. Installation / Mise à jourL’installation et la mise à jour d’une application doitêtre le plus simple possible 41
  42. 42. LogsUn système de logs permet de comprendre la vieinterne de l’application 42
  43. 43. DébogageIl faut éviter les pratiques compliquant le débogagede l’application 43
  44. 44. Compréhensibilité 1 Portabilité 5Cohérence 2 Testabilité 6Exhaustivité 3 Fiabilité 7Concision 4 Maintenabilité 8 44
  45. 45. Merci ! ‣ Commentaires et slides : https://joind.in/5966 ‣ Blog : http://www.industrialisation-php.com/ ‣ Twitter : @jmfontaine / @indusphp ‣ Email : jean-marc.fontaine@alterway.fr 45
  46. 46. Crédits photographiquesLes photos et illustrations suivantes ont été utilisées dans cetteprésentation. Merci à leurs auteurs ! ‣ https://secure.flickr.com/photos/jorgempf/17271202/ ‣ https://secure.flickr.com/photos/26053177@N03/4503264891/ ‣ https://secure.flickr.com/photos/irisslootheer/4359044679/ ‣ https://secure.flickr.com/photos/marcovdz/4520986339/ ‣ https://secure.flickr.com/photos/houseofantiquehardware/5183160228/ ‣ http://geekandpoke.typepad.com/geekandpoke/2010/01/documentation-is-key.html ‣ https://secure.flickr.com/photos/daimlerag/6640914329/ ‣ https://secure.flickr.com/photos/cglosli/3296946161/ ‣ https://secure.flickr.com/photos/44442915@N00/4371880134/ 46
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×