{"id":229958,"date":"2022-11-17T10:37:00","date_gmt":"2022-11-17T07:37:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229958"},"modified":"2022-11-17T18:48:19","modified_gmt":"2022-11-17T15:48:19","slug":"programmation-orientee-objet-dans-wordpress-analyse-partie-2","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/programmation-orientee-objet-dans-wordpress-analyse-partie-2\/","title":{"rendered":"Programmation orient\u00e9e objet dans WordPress : analyse, partie 2"},"content":{"rendered":"\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/fr\/programmation-orientee-objet-dans-wordpress-analyse-partie-1\/\" title=\"Dans le premier article de cette s\u00e9rie\">Dans le premier article de cette s\u00e9rie<\/a>, j&rsquo;ai tout expliqu\u00e9 sur la fa\u00e7on dont je voulais aborder une introduction \u00e0 la programmation orient\u00e9e objet dans le contexte de WordPress.<\/p>\n<p>Il existe d&rsquo;excellentes ressources pour la programmation orient\u00e9e objet, mais elles peuvent utiliser des exemples artificiels, ou elles peuvent aller trop vite pour ceux qui cherchent juste \u00e0 se lancer.<\/p>\n<p>Pour \u00e9viter que cela ne se produise, je pense que parler de POO dans WordPress nous ancre sur une base solide et utiliser des exemples pratiques sera toujours mieux que d&rsquo;utiliser des exemples g\u00e9n\u00e9riques difficiles \u00e0 traduire dans le domaine dans lequel nous travaillons.<\/p>\n<p>Pour ceux qui n&rsquo;ont <a href=\"https:\/\/tommcfarlin.com\/register\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">pas encore rejoint<\/a> ou qui n&rsquo;ont pas encore rattrap\u00e9 leur retard, le premier article porte sur les sujets suivants\u00a0:<\/p>\n<ul>\n<li>Analyse orient\u00e9e objet,<\/li>\n<li>D\u00e9termination des incontournables par rapport aux agr\u00e9ables \u00e0 avoir,<\/li>\n<li>Et pourquoi est-ce difficile ?<\/li>\n<\/ul>\n<p>Et c&rsquo;est l\u00e0 que ce post va reprendre.<\/p>\n<h2>Programmation orient\u00e9e objet\u00a0: plus d&rsquo;analyses<\/h2>\n<p>Je sais: lorsqu&rsquo;il s&rsquo;agit d&rsquo;\u00e9crire du code, la premi\u00e8re chose que nous voulons faire est de nous asseoir et de commencer \u00e0 \u00e9crire du code. Quoi de mieux que de faire bouger quelque chose \u00e0 l&rsquo;\u00e9cran ?<\/p>\n<p>Et lorsque vous faites cela pour vous-m\u00eame, ce n&rsquo;est pas si grave, mais lorsque vous \u00e9crivez du code, cela va \u00eatre\u00a0:<\/p>\n<ul>\n<li>entretenu par une \u00e9quipe de personnes,<\/li>\n<li>\u00e0 vendre,<\/li>\n<li>ou pour tout ce qui pr\u00e9c\u00e8de<\/li>\n<\/ul>\n<p>Cela fait une diff\u00e9rence. Car une bonne analyse peut d\u00e9boucher sur une bonne organisation qui peut d\u00e9boucher sur une bonne maintenabilit\u00e9.<\/p>\n<p>Sinon, vous bricolez quelque chose pour l&rsquo;exp\u00e9dier, et cela ne va pas bien \u00e9voluer avec les futures versions. Et c&rsquo;est quelque chose dont nous parlerons en profondeur tout au long de la s\u00e9rie.<\/p>\n<p>Mais qu&rsquo;est-ce qu&rsquo;un bon moyen de r\u00e9sumer une bonne analyse en trois \u00e9tapes faciles\u00a0? Ce n&rsquo;est pas n\u00e9cessairement une r\u00e9ponse \u00e0 toute \u00e9preuve, mais c&rsquo;est ce que nous essayons de faire chaque fois que nous travaillons sur des projets\u00a0:<\/p>\n<ol>\n<li>Assurez-vous que le code fait ce que le client veut,<\/li>\n<li>Appliquer les bonnes pratiques orient\u00e9es objet,<\/li>\n<li>Visez une conception maintenable.<\/li>\n<\/ol>\n<p>Tout cela semble bien en th\u00e9orie, mais sans approfondir chacun, comment savoir si nous le faisons correctement? En d&rsquo;autres termes, c&rsquo;est l\u00e0 que nous trouvons souvent des livres, des ressources et d&rsquo;autres utilitaires qui rendent difficile de devenir un meilleur programmeur orient\u00e9 objet.<\/p>\n<p>C&rsquo;est pr\u00e9cis\u00e9ment ce que je veux \u00e9viter, donc je vais creuser un peu plus chaque point.<\/p>\n<h3>1 Ce que veut le client<\/h3>\n<p>Cela peut \u00eatre l&rsquo;un des aspects les plus difficiles de l&rsquo;ensemble du projet, souvent parce que nous, en tant que d\u00e9veloppeurs, parlons une langue diff\u00e9rente du client.<\/p>\n<p>Non seulement ils utilisent souvent une terminologie que nous n&rsquo;utiliserions pas, mais ils pensent souvent que ce qu&rsquo;ils veulent \u00e0 l&rsquo;\u00e9cran est la meilleure fa\u00e7on de s&rsquo;y prendre. Cela donne l&rsquo;impression qu&rsquo;il est vraiment condescendant et erron\u00e9 d&rsquo;essayer de les corriger, n&rsquo;est-ce pas\u00a0?<\/p>\n<p>Je veux dire, imaginez essayer de dire \u00e0 quelqu&rsquo;un que vous savez ce que vous voulez, et il vous corrige. G\u00e9rer cela avec soin est quelque chose qui peut gagner une grande \u00e9quit\u00e9 relationnelle, mais il faut un certain temps pour \u00abfouiller\u00bb ce qu&rsquo;ils veulent vraiment par rapport \u00e0 ce qu&rsquo;ils disent vouloir.<\/p>\n<p>Et nous allons nous plonger davantage dans ce sujet dans un prochain article.<\/p>\n<h3>2 pratiques orient\u00e9es objet<\/h3>\n<p>\u00c9videmment, cela vient du fait de savoir quelles sont les bonnes pratiques orient\u00e9es objet et c&rsquo;est quelque chose que je pr\u00e9vois de couvrir.<\/p>\n<p>Beaucoup de gens diront des choses en utilisant des choses telles que :<\/p>\n<ul>\n<li>les principes SOLID,<\/li>\n<li>h\u00e9ritage,<\/li>\n<li>Code SEC,<\/li>\n<li>injection de d\u00e9pendance,<\/li>\n<li>etc<\/li>\n<\/ul>\n<p>Sont tous importants pour suivre de bonnes pratiques orient\u00e9es objet.<\/p>\n<p>Et peut-\u00eatre que ce n&rsquo;est pas une chose populaire \u00e0 dire, mais je pense qu&rsquo;essayer d&rsquo;utiliser toutes les choses tout le temps n&rsquo;est pas toujours une bonne id\u00e9e. Autrement dit, vous ne voulez certainement pas que le code soit r\u00e9p\u00e9t\u00e9 dans votre base de code, mais devez-vous avoir un h\u00e9ritage dans votre base de code\u00a0?<\/p>\n<p>Non.<\/p>\n<p>Il y a des moments o\u00f9 les principes doivent \u00eatre appliqu\u00e9s et o\u00f9 ils peuvent \u00eatre ignor\u00e9s. Mais les conna\u00eetre, quand les utiliser au mieux et quand les utiliser sont essentiels pour utiliser correctement ces pratiques.<\/p>\n<h3>3 Conception maintenable<\/h3>\n<p>En termes simples, l&rsquo;application de mod\u00e8les et de principes \u00e0 votre logiciel lors de son \u00e9criture est ce qui le rendra beaucoup plus facile \u00e0 utiliser et \u00e0 maintenir \u00e0 l&rsquo;avenir.<\/p>\n<p>Mais, encore une fois, cela d\u00e9pend de :<\/p>\n<ol>\n<li>bien comprendre ce que veut le client,<\/li>\n<li>savoir quelles pratiques existent, quand les appliquer et quand les \u00e9viter.<\/li>\n<\/ol>\n<p>Et pour faire tout ce qui pr\u00e9c\u00e8de, nous devons examiner chaque point dans son contexte avant de prendre du recul pour regarder la situation dans son ensemble.<\/p>\n<h2>Que veut le client\u00a0?<\/h2>\n<p>De toute \u00e9vidence, il y a beaucoup de terrain \u00e0 couvrir en ce qui concerne les trois points ci-dessus. Mais si vous voulez \u00e9crire un bon logiciel maintenable dans l&rsquo;\u00e9conomie WordPress, il est important de comprendre comment tout cela s&rsquo;imbrique.<\/p>\n<p>Ainsi, plut\u00f4t que de se lancer dans l&rsquo;\u00e9criture de code ou de se lancer dans le travail sur un projet, la prochaine chose que nous allons examiner est de savoir comment prendre ce que le client veut et ensuite d\u00e9chiffrer cela dans un ensemble d&rsquo;exigences qui nous permettent de cr\u00e9er un d\u00e9claration de travail.<\/p>\n<p>De cette fa\u00e7on, nous aurons finalement un document de travail de ce que le client veut et de ce que nous allons construire, et nous serons tous sur la m\u00eame longueur d&rsquo;onde.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Parler de programmation orient\u00e9e objet dans WordPress nous ancre sur une base solide et utiliser des exemples pratiques sera toujours mieux que des g\u00e9n\u00e9riques.<\/p>\n","protected":false},"author":1,"featured_media":165340,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[893,717],"tags":[1167],"class_list":["post-229958","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-2","category-developpeur","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/229958","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/comments?post=229958"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/229958\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/165340"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=229958"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=229958"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=229958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}