• J'aime
La qualité au-delà du code - ConFoo 2012
Prochain SlideShare
Chargement dans... 5
×

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

  • 1,185 vues
Transféré le

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 ...

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.

Plus dans : Technologies
  • Full Name Full Name Comment goes here.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
    Soyez le premier à commenter
    Be the first to like this
Aucun téléchargement

Vues

Total des vues
1,185
Sur Slideshare
0
À partir des ajouts
0
Nombre d'ajouts
1

Actions

Partages
Téléchargements
24
Commentaires
0
J'aime
0

Ajouts 0

No embeds

Signaler un contenu

Signalé comme inapproprié Signaler comme inapproprié
Signaler comme inapproprié

Indiquez la raison pour laquelle vous avez signalé cette présentation comme n'étant pas appropriée.

Annuler
    No notes for slide

Transcript

  • 1. La qualité au-delà du code ConFoo 2012 1
  • 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. La qualité au-delà du code 3
  • 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. 70%Environ 70% du tempsconsacré à un applicatif l’estdans sa maintenance 5
  • 6. Compréhensibilité 1 Portabilité 5Cohérence 2 Testabilité 6Exhaustivité 3 Fiabilité 7Concision 4 Maintenabilité 8 6
  • 7. Compréhensibilité 7
  • 8. DocumentationLa documentation doit être de qualité, exhaustive età jour 8
  • 9. CommentairesLes commentaires doivent compléter le code pas leparaphraser 9
  • 10. ComplexibilitéToute chose devrait être rendue aussi simple quepossible, mais pas plus. - Albert Einstein 10
  • 11. Mise en forme du codeFaire en sorte que la forme ne vienne pas perturberla compréhension du fond 11
  • 12. Cohérence 12
  • 13. NommageLe nommage des éléments doit être logique,cohérent et pertinent 13
  • 14. DocumentationLe style et la langue de la documentation doiventêtre uniformes d’un bout à l’autre 14
  • 15. Mise en forme du codeL’ensemble du code doit suivre les règles de codage.Pas d’exception ! 15
  • 16. Exhaustivité 16
  • 17. Application complèteL’application est-elle totalement fonctionnelle ? 17
  • 18. Eléments temporairesLes éléments temporaires doivent être absent de laversion finale 18
  • 19. Interfaces externesEst-ce que les interfaces externes sont disponibles ? 19
  • 20. DonnéesEst-ce que les données nécessaires sont présentes ? 20
  • 21. Concision 21
  • 22. 22
  • 23. DocumentationLa documentation doit être complète mais éviter leslongueurs inutiles 23
  • 24. LibrariesChaque librairie présente doit avoir son utilité 24
  • 25. Code mortLe code mort augmente inutilement la taille del’application 25
  • 26. Code dupliquéLe code dupliqué doit être factorisé pour simplifiersa maintenance 26
  • 27. Portabilité 27
  • 28. Nouveaux environnementsLa configuration de l’application doit permettre dela déployer facilement sur de nouveauxenvironnements 28
  • 29. Dépendances logiciellesAvoir un minimum de dépendances logiciellespermet de diffuser plus largement son application 29
  • 30. Testabilité 30
  • 31. Critères d’acceptationPour tester une application il faut connaître lescritères d’acceptation du client 31
  • 32. Séparation des responsabilitésUne application dont les responsabilités sontclairement séparées pourra évoluer plus facilement 32
  • 33. Code testableUn code fonctionnel n’est pas forcément un codetestable 33
  • 34. Injection de dépendanceL’injection de dépendance permet de découpler le code 34
  • 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. Fiabilité 36
  • 37. Tolérance aux erreursUne application ne devrait pas être indisponible dèsque survient un problème mineur 37
  • 38. Mode dégradéUn service réduit est mieux que pas de service dutout 38
  • 39. SécuritéQuelque soit le domaine économique, la sécurité estun enjeu important pour une application 39
  • 40. Maintenabilité 40
  • 41. Installation / Mise à jourL’installation et la mise à jour d’une application doitêtre le plus simple possible 41
  • 42. LogsUn système de logs permet de comprendre la vieinterne de l’application 42
  • 43. DébogageIl faut éviter les pratiques compliquant le débogagede l’application 43
  • 44. Compréhensibilité 1 Portabilité 5Cohérence 2 Testabilité 6Exhaustivité 3 Fiabilité 7Concision 4 Maintenabilité 8 44
  • 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. 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