Ce n'est pas vraiment une question de programmation technique, mais a plus à voir avec les meilleures pratiques et les processus de programmation / gestion de projet. Voici quelques informations de base: P>
Je suis un consultant avec une société de développement logicielle Agile (Scrum) spécialisée dans la pile Java, J2Ee, Flex Technology. P>
Ici, il est généralement perçu par de nombreux que la qualité des personnes liées à PHP, des projets, etc. n'est pas à la hauteur de la marque par rapport à Java. Pendant que je conteste souvent cette affirmation, j'accepte que l'entrée dans le PHP est une bonne barrière générale qui attire parfois des personnes de qualité inférieure qui produisent ensuite des travaux de qualité inférieure. P>
Pour nous, la qualité vient en premier. Au cours des prochains trimestres, nous cherchons également à développer un très haut niveau de compétence dans PHP. Et nous voulons atteindre le plus haut niveau de qualité et nos processus devraient être tels que nous améliorons constamment tout le temps lors de la mise à jour de haut niveau. P>
Nos nouvelles recrues se déroulent dans un processus de sélection rigoureux où il existe de très des mains sur une affectation technique. Nous évaluons comment ils codent, nous évaluons comment ils testent leur code, nous évaluons leurs compétences avec des cadres standard de l'industrie (Zend, CakePHP, CodeConiter / Kohana, Symphony). P>
Nous avons un événement de change bimensuel (deux fois par mois) où les individus encouragent à présenter. Nous avons des mains sur des événements aussi. P>
Je vous demanderais de partager votre expérience sur la manière dont nous en tant qu'individus et une organisation plate, agile, relativement petite, peut inculquer de bonnes pratiques de développement PHP et nous améliorer constamment. P>
merci, Sri p>
5 Réponses :
Je crois personnellement que de bonnes pratiques de développement vont au-delà de la langue. Vos exigences pour les projets PHP devraient être les mêmes que celles de Java. Par exemple, le code doit être clair et commenté, bien formaté et testé, comme pour toute autre langue. P>
Les techniques évidentes seraient des critiques de code régulier et une programmation par paire; Ce dernier est particulièrement important si vous pouvez l'utiliser comme outil pour inculquer les meilleures pratiques dans les nouveaux membres du personnel. Assurez-vous que les développeurs qui sont plus proches de votre idéal d'écriture, le bon code peut passer suffisamment de temps à enseigner aux autres développeurs. P>
Tout ce qui est malheureusement inutile si vous embauchez des personnes qui ont décidé qu'ils savaient déjà tout ce qu'ils ont besoin de savoir; Assurez-vous de recruter des candidats qui souhaitent devenir de meilleurs programmeurs et sont disposés à travailler sur cela. P>
Je pense que l'une des premières étapes les plus importantes consiste à définir des normes. Définir un style de codage obligatoire (pas d'une ligne si / pour / tandis / tandis que / etc. Déclarations, onglets au lieu d'espaces, docs sur chaque fonction, etc.); Avoir une exigence minimale pour la propreté du code est très important de maintenir un niveau élevé de contrôle de la qualité. P>
Une bonne étape suivante consiste à trouver où vos employés sont compétents et où ils ne sont pas. Déterminez quelles parties de la langue que vos employés ont des problèmes (c'est-à-dire que les nouvelles fonctionnalités PHP 5, utilisent efficacement DOMDocument, écrivant des cours sécurisés ...) et attribuer des lectures obligatoires. P>
Cela me conduit directement dans ma prochaine suggestion: avoir une "bibliothèque d'entreprise". Pour les endroits où j'ai travaillé, cela a été une bibliothèque que les employés peuvent emprunter des livres de référence ou d'étude. Gardez-le stocké avec une variété de livres de différents éditeurs. D'après ce que j'ai vu, les employés sont plus que disposés à apprendre quelque chose de nouveau si cela ne leur est pas forcé et qu'ils sont capables de le faire pendant leurs loisirs. Un bon programmeur cherche toujours à apprendre. P>
Enfin, lancez une liste de blog / mailing / forum que les employés sont encouragés à participer régulièrement. Publier les Tidbits (et encourager vos employés à aussi poster) sur les meilleures pratiques. Vous pouvez afficher comment utiliser bonne chance! p> gettype code> avec une instruction de commutation est mauvais ou comment désactiver correctement les citations magiques par programme. P>
Le meilleur moyen de s'améliorer est de veiller à ce que vous n'augmentez que des personnes qui souhaitent s'améliorer. Ensuite, vous devez soutenir ces personnes quand ils font des erreurs dans la quête de s'améliorer. De cette façon, ils n'ont pas peur d'essayer de nouvelles choses. P>
Il y a un dicton que j'ai entendu aux États-Unis: "embaucher des personnes avec moins de 3,9 (sur 4.0) GPA"; Cela reflète l'objectif d'embaucher des personnes qui n'ont pas fait parfaitement (c'est-à-dire qu'ils ont appris à ne pas être parfait). P>
L'un des meilleurs moyens de devenir meilleur est l'état d'esprit "Lean", qui a engendré les méthodologies agiles, ainsi qu'un nombre important d'histoires de réussite dans la fabrication. p>
L'idée générale doit être continuellement impliquée dans un processus itératif d'auto-évaluation et ne jamais gaspiller des ressources ni avoir des blocages dans votre flux de travail. Cela doit bien sûr être traité avec soins: les projets de recherche sont si mal définis qu'ils ne peuvent presque pas être mis dans une chaîne de montage et une grande partie du développement logiciel est em> recherche. P>
Pour une langue, vos développeurs doivent être tenus au courant des dernières questions de sécurité, leurs installations doivent être tenues à jour par le personnel informatique, la société devrait financer un certain nombre de matériel d'apprentissage, être des cours, des livres, conférences, ou quoi-vous-a-vous. p>
En général, le concept global est que la qualité est une activité de chacun, et il est correct de prendre le temps de le faire droit EM>. P>
Toutes les réponses ci-dessus ont de bons points à écouter. Espérons que cela sera juste en plus. P>
L'essentiel est qu'il faut la pratique. Certainement ne prenez pas sur les gens qui pensent qu'ils sont parfaits ou n'ont pas besoin de beaucoup de croissance. Je pense que je suis un très bon programmeur mais je peux voir de nombreuses possibilités de croissance. P>
dépendez de la sagesse et de l'expérience des autres programmeurs. Donnez-leur de bons matériaux de lecture avec des sections qui sont mises en évidence quant à la manière dont ils traitent ou ont une incidence sur votre organisation. P>
Il est beaucoup plus facile de "vouloir" aller mieux si l'importance de s'améliorer est connue. Le support pour faire des erreurs et une croissance est présente et les objectifs sont clairs et réalisables. P>
Astuce: S'ils disent: "Pourquoi ne pas enregistrer_globals sur?" Ils ne sont probablement pas ce que vous cherchez.