Les 10 commandements du développeur PHP en entreprise : ma proposition
Si PHP développeur tu es, ces 10 commandements tu respecteras : ...
Si PHP développeur tu es, ces 10 commandements tu respecteras :
- Faire simple ET propre
- Développer en TDD : le test d’abord, le code ensuite
- Committer sur barre verte (tests en succès)
- Respecter des conventions de codage connus en dehors de l'entreprise
- Développer 1 fois, Réutiliser plusieurs fois
- Tester unitairement toutes les fonctionnalités du coeur de l'application
- Utiliser les comparaisons de valeurs ET de types (===, !==)
- Réaliser systématiquement des implémentation mocks (bouchons)
- Ne pas dépasser plus de 80 lignes aérées et commentées pour une fonction/méthode
- Always Have Fun !
Qu'en pensez-vous ?
(TDD = Test Driven Development)
Commentaires
1/ Ok !
2/ Ok mais ça c'est de l'utopie ^^
3/ Ok mais je préfère le commit atomique à chaque modification mineure
4/ Ok !
5/ Ok mais pas toujours faisable. La capitalisation du code n'est pas toujours possible en fonction des spécificités de chaque projet.
6/ Tests fonctionnels ou unitaires ? Dans l'idéal il faudrait les deux :)
7/ Ok !
8/ Tu entends quoi par là ?
9/ 80 c'est presque trop. Dans la plupart des cas, on peut s'en tirer avec une trentaine / cinquantaine de lignes.
10/ Toujours :)
Tu as oublié un commandement important :
11/ Les commentaires PHPDoc tu utiliseras et ton code, intelligemment et efficacement, tu commenteras.
s/du développeur PHP/du développeur/
Pareil que Hugo, j'ai tendance à préférer les commits atomique.
1° C'est plus facile à "revert"
2° Ca oblige le développeur à travailler sur des micro blocs testés
Disons que c'est des bonnes pratiques pour tout codeur en général, pas spécialement PHP (du coup ok avec Bast: s/du développeur PHP/du développeur/ )
et c'est un peu trop orienté TDD: après tout, on est pas OBLIGE d'en faire, non?
@Gab : on est pas obligé de faire du TDD, par contre les tests unitaires c'est quand même un incontournable si tu veux développer de la qualité. TDD t'apporte la rigueur, la systématisation, la démarche, le cadre, l'assurance, la sérennité... ce serait dommage de passer à côté, non ? ;)
Ca fait un paquet de temps que je cherchais ce qui me dérangeait dans le TDD, et j'ai enfin trouvé. Pas que je le refuse complètement, mais un truc me turlupinait, et j'ai mis le doigts dessus: quand je développe, j'aime bien tester plein de trucs (méthodes différentes pour faire la même chose). Récemment, par exemple, j'ai utilisé memcache pour cacher mes pages, puis APC, puis re-memcache, et là je mets des smarty dedans (d'où plus besoin de memcache).
Or, si je passe mon temps à faire du test, je vais tester un truc qui en fait va disparaître au gré de mes idées, d'où frustration et perte de temps.
Où est la faille?