Je ne parlais pas forcément de passer en objet, pour un script comme celui-ci ça ne semble pas indispensable (ce qu'apporte réellement l'objet qui est indispensable pour des gros projets c'est essentiellement l'encapsulation, les interfaces et la composition, afin de rendre le code évolutif, ce qui ici ne serait pas forcément bénéfique), mais plus de plus découper en fonctions. À certains endroits ton code arrive à des niveau de 5 ou 6 indentations successives (entre divers if, while et foreach), ce qui rend le code très profond, et plus difficile à lire. Le cerveau humain est assez bête il aime lire de façon linéaire, et le découpage en fonctions aux endroits opportuns créé une encapsulation qui permet aux algorithmes importants d'évoluer à niveau plus haut ce qui leur donne plus de sémantique et moins de détails techniques, et d'être plus lisibles, car ça les rend plus linéaires.
Les imbrications de if foreach while et autres joyeusetés créé un code avec énormément de branches, c'est souvent là qu'on perd le lecteur. En arrivant à remplacer les branches par du typage et une gestion d'erreur fine dans des fonctions encapsulés, ça permet de mettre en valeur les erreurs évidentes.
[^] # Re: Outil intéressant mais...
Posté par Christie Poutrelle (site web personnel) . En réponse au journal [PHP] Apache Check, première release. Évalué à 9. Dernière modification le 03 août 2021 à 14:32.
Je ne parlais pas forcément de passer en objet, pour un script comme celui-ci ça ne semble pas indispensable (ce qu'apporte réellement l'objet qui est indispensable pour des gros projets c'est essentiellement l'encapsulation, les interfaces et la composition, afin de rendre le code évolutif, ce qui ici ne serait pas forcément bénéfique), mais plus de plus découper en fonctions. À certains endroits ton code arrive à des niveau de 5 ou 6 indentations successives (entre divers if, while et foreach), ce qui rend le code très profond, et plus difficile à lire. Le cerveau humain est assez bête il aime lire de façon linéaire, et le découpage en fonctions aux endroits opportuns créé une encapsulation qui permet aux algorithmes importants d'évoluer à niveau plus haut ce qui leur donne plus de sémantique et moins de détails techniques, et d'être plus lisibles, car ça les rend plus linéaires.
Les imbrications de if foreach while et autres joyeusetés créé un code avec énormément de branches, c'est souvent là qu'on perd le lecteur. En arrivant à remplacer les branches par du typage et une gestion d'erreur fine dans des fonctions encapsulés, ça permet de mettre en valeur les erreurs évidentes.