Discussion:
Bonnes pratiques de programmation PHP
(trop ancien pour répondre)
Olivier Miakinen
2016-03-09 13:24:06 UTC
Permalink
Bonjour,

Il y a quelques années j'ai développé des utilitaires de conversion
des nombres, entre la représentation en chiffres et la représentation
en lettres (en français).

http://www.miakinen.net/vrac/nombres#test
http://www.miakinen.net/vrac/source/nel.php
http://www.miakinen.net/vrac/source/nec.php
http://www.miakinen.net/vrac/nombres2.php

J'aimerais mettre ces utilitaires à jour en utilisant toutes les
techniques modernes développées depuis (espaces de nommage, classes
et objets, etc.) afin d'en faire une bibliothèque beaucoup plus
facilement intégrable dans d'autres projets.

Qu'est-ce que vous me conseilleriez comme lecture, si possible en
ligne, pour que je mette mes connaissances à jour afin d'adopter
les bonnes pratiques de programmation ?

Cordialement,
--
Olivier Miakinen

« Au fond, diviser par zéro revient à unifier la Mécanique Quantique
et la Relativité Générale. » -- M.A. le 7/3/2016 dans fr.sci.maths
Olivier Miakinen
2016-03-13 20:51:57 UTC
Permalink
Bonjour,
Post by Olivier Miakinen
J'aimerais mettre ces utilitaires à jour en utilisant toutes les
techniques modernes développées depuis (espaces de nommage, classes
et objets, etc.) afin d'en faire une bibliothèque beaucoup plus
facilement intégrable dans d'autres projets.
Qu'est-ce que vous me conseilleriez comme lecture, si possible en
ligne, pour que je mette mes connaissances à jour afin d'adopter
les bonnes pratiques de programmation ?
Personne n'a d'idée ?
--
Olivier Miakinen

« Au fond, diviser par zéro revient à unifier la Mécanique Quantique
et la Relativité Générale. » -- M.A. le 7/3/2016 dans fr.sci.maths
Otomatic
2016-03-14 08:30:37 UTC
Permalink
Post by Olivier Miakinen
Post by Olivier Miakinen
Qu'est-ce que vous me conseilleriez comme lecture, si possible en
ligne, pour que je mette mes connaissances à jour afin d'adopter
les bonnes pratiques de programmation ?
Personne n'a d'idée ?
Mon « livre » de référence, c'est la documentation PHP
http://php.net/manual/fr/
--
Ce n'est pas parce qu'ils sont nombreux à avoir tort
qu'ils ont forcément raison. Coluche
Olivier Miakinen
2016-03-14 22:33:06 UTC
Permalink
Bonjour, et merci de ta réponse.
Post by Otomatic
Post by Olivier Miakinen
Post by Olivier Miakinen
Qu'est-ce que vous me conseilleriez comme lecture, si possible en
ligne, pour que je mette mes connaissances à jour afin d'adopter
les bonnes pratiques de programmation ?
Personne n'a d'idée ?
Mon « livre » de référence, c'est la documentation PHP
http://php.net/manual/fr/
Oui pour la référence du langage et de tout ce qu'on peut faire avec,
mais je n'y ai pas trouvé de guide de « bonnes pratiques » de nommage
(entre autres) pour le développement d'une bibliothèque de classes ou
de fonctions réutilisables par d'autres que soi.

Par exemple, si j'ai des fonctions de traduction de nombres dans le
sens chiffres -> lettres et d'autres dans le sens lettres -> chiffres,
est-ce que je crée des classes de nom différent mais dans le même
namespace ? Ou bien est-ce que chaque namespace aura le même nom
que la classe correspondante ? Ou autre ?
--
Olivier Miakinen

« Au fond, diviser par zéro revient à unifier la Mécanique Quantique
et la Relativité Générale. » -- M.A. le 7/3/2016 dans fr.sci.maths
Denis Beauregard
2016-03-14 15:47:00 UTC
Permalink
Le Sun, 13 Mar 2016 21:51:57 +0100, Olivier Miakinen
Post by Olivier Miakinen
Bonjour,
Post by Olivier Miakinen
J'aimerais mettre ces utilitaires à jour en utilisant toutes les
techniques modernes développées depuis (espaces de nommage, classes
et objets, etc.) afin d'en faire une bibliothèque beaucoup plus
facilement intégrable dans d'autres projets.
Qu'est-ce que vous me conseilleriez comme lecture, si possible en
ligne, pour que je mette mes connaissances à jour afin d'adopter
les bonnes pratiques de programmation ?
Personne n'a d'idée ?
Il y a "quelques années", c'est PHP 4 ? Le langage en soi a évolué
et on en est à PHP 7, mais les hébergeurs ont sans doute n'importe
quelle version entre 5 et 7. Je pense que peu importe la qualité du
travail, on arrivera à certaines fonctions compatibles avec disons
PHP 3 à 5, d'autres à partir de 4, etc. S'il y a amélioration, je
dirais qu'il faut peut-être simplement vérifier avec quelles versions
un utilitaire fonctionne au complet, ce qui est déjà un gros travail
en soi.

Pour l'espace de nommage, il y avait déjà des propositions avant que
PHP existe, comme nDebut pour un entier, CONST pour une constante,
etc.


Denis
Olivier Miakinen
2016-03-14 22:42:25 UTC
Permalink
Post by Denis Beauregard
Post by Olivier Miakinen
Post by Olivier Miakinen
J'aimerais mettre ces utilitaires à jour en utilisant toutes les
techniques modernes développées depuis (espaces de nommage, classes
et objets, etc.) afin d'en faire une bibliothèque beaucoup plus
facilement intégrable dans d'autres projets.
Qu'est-ce que vous me conseilleriez comme lecture, si possible en
ligne, pour que je mette mes connaissances à jour afin d'adopter
les bonnes pratiques de programmation ?
Personne n'a d'idée ?
Il y a "quelques années", c'est PHP 4 ?
Exactement. J'ai programmé ça au printemps 2003, et PHP 5 est sorti
en juillet 2004.
Post by Denis Beauregard
Le langage en soi a évolué
et on en est à PHP 7, mais les hébergeurs ont sans doute n'importe
quelle version entre 5 et 7. Je pense que peu importe la qualité du
travail, on arrivera à certaines fonctions compatibles avec disons
PHP 3 à 5, d'autres à partir de 4, etc. S'il y a amélioration, je
dirais qu'il faut peut-être simplement vérifier avec quelles versions
un utilitaire fonctionne au complet, ce qui est déjà un gros travail
en soi.
Certes, mais je crois que je n'ai pas été clair. Mon but n'est pas
seulement d'avoir un code qui fonctionne pour mon propre compte, mais
un code qui soit aisément intégrable par quiconque pourrait en avoir
besoin, sans que l'utilisateur n'ait à se soucier de collisions de noms
de variables avec son propre code.

Je cherche à fournir une boîte noire qui soit le plus propre possible,
un machin prêt à intégrer sans aucun effet de bord (mais pas avec des
noms de deux kilomètres de long quand même).
Post by Denis Beauregard
Pour l'espace de nommage, il y avait déjà des propositions avant que
PHP existe, comme nDebut pour un entier, CONST pour une constante,
etc.
Mais si je nomme un entier nDebut, il existe un risque non nul qu'un
utilisateur prenant mon code ait une collision avec une variable nDebut
existant chez lui.

Cordialement,
--
Olivier Miakinen

« Au fond, diviser par zéro revient à unifier la Mécanique Quantique
et la Relativité Générale. » -- M.A. le 7/3/2016 dans fr.sci.maths
Eric Demeester
2016-03-15 09:39:19 UTC
Permalink
Bonjour,
Post by Olivier Miakinen
Je cherche à fournir une boîte noire qui soit le plus propre possible,
un machin prêt à intégrer sans aucun effet de bord (mais pas avec des
noms de deux kilomètres de long quand même).
C'est pile-poil à ça que sert la POO (Programmation Orientée Objet),
finalisée dans PHP depuis la version 5.

L'objet est conçu pour réaliser une tâche donnée, il peut
optionnellement recevoir des variables en entrée et en fournir en
sortie, l'utilisateur appelle l'objet et récupère le résultat sans avoir
à connaitre ni à comprendre le code contenu dans l'objet.

Tout est là (pour PHP 5) :
https://secure.php.net/manual/fr/language.oop5.php

Un guide de nommage de l'espace utilisateur est également proposé ici :
https://secure.php.net/manual/fr/userlandnaming.php
Olivier Miakinen
2016-03-18 16:58:21 UTC
Permalink
Bonjour Éric,
Post by Eric Demeester
[...]
https://secure.php.net/manual/fr/language.oop5.php
https://secure.php.net/manual/fr/userlandnaming.php
Comme tu peux t'en douter, j'avais déjà lu tout ça (mais je reconnais
que je ne l'avais pas dit). Seulement je n'y ai pas trouvé de guide
de bonnes pratiques pour le choix des noms dans le cas de l'écriture
d'une bibliothèque à partager.

Finalement, j'ai cherché des bibliothèques existantes. J'ai trouvé
beaucoup de déchet, mais le projet Hoa m'a convaincu que c'était une
bonne manière de faire : <http://hoa-project.net/Fr/>.

Dans ce projet, chaque sous-projet a un namespace constitué du nom
Hoa suivi du nom du module. Par exemple, l'ensemble traitant de
Mime a comme namespace Hoa\Mime, et comme il y a une seule classe
qui s'appelle aussi Mime, on y accède par Hoa\Mime\Mime. On peut
aussi trouver des sous-espaces de nom (Hoa\Mime\Exception).

Du coup, je pense choisir le même genre de structure, avec un nom
générique au début (peut-être OMiak) puis un nom spécifique au
type de bibliothèque.

En tout cas, merci à tous pour vos réponses.

Cordialement,
--
Olivier Miakinen

« Au fond, diviser par zéro revient à unifier la Mécanique Quantique
et la Relativité Générale. » -- M.A. le 7/3/2016 dans fr.sci.maths
otto
2016-03-15 11:02:53 UTC
Permalink
On Wed, 9 Mar 2016 14:24:06 +0100, Olivier Miakinen <om+***@miakinen.net> wrote:

En plus de la bonne pratique de progmmation en PHP, je suis intéressé quel est le bon outil ou environnement de développement à utiliser?

Cordiallement
Otto
Post by Olivier Miakinen
Bonjour,
Il y a quelques années j'ai développé des utilitaires de conversion
des nombres, entre la représentation en chiffres et la représentation
en lettres (en français).
http://www.miakinen.net/vrac/nombres#test
http://www.miakinen.net/vrac/source/nel.php
http://www.miakinen.net/vrac/source/nec.php
http://www.miakinen.net/vrac/nombres2.php
J'aimerais mettre ces utilitaires à jour en utilisant toutes les
techniques modernes développées depuis (espaces de nommage, classes
et objets, etc.) afin d'en faire une bibliothèque beaucoup plus
facilement intégrable dans d'autres projets.
Qu'est-ce que vous me conseilleriez comme lecture, si possible en
ligne, pour que je mette mes connaissances à jour afin d'adopter
les bonnes pratiques de programmation ?
Cordialement,
Continuer la lecture sur narkive:
Loading...