Quelqu'un pense-t-il vraiment que c'est une bonne raison de «baisser» votre code? Quand un gestionnaire vous demande de rendre votre code simple (en termes de compétences technologiques nécessaires pour le comprendre) au prix d'un code encombré plus verbeux, que devez-vous faire?
Réponses
Trop de publicités?J'ai fortement en désaccord. Les développeurs juniors sera à la fin développeurs chevronnés. Comment? Par la rencontre des rubriques avancées qui ne sont pas enseignés à l'école.
Mon code de base maintenant fait un usage intensif de l'Inversion de Contrôle des conteneurs. Je voudrais de ne jamais revenir mon code à l'ancienne parce qu'un développeur junior a eu des problèmes groking Cio. Au lieu de cela je les prendrais pour une bière après le travail et d'en discuter. Le plus de la junior dev apprend au moins à la main qui doit être fait.
Voici un blog de discuter de ce sujet très.
Si vous êtes constamment nivellement vers le bas de votre code ou des dessins, c'est une très bonne façon de s'assurer que votre junior développeurs de rester muet. Les mettre au défi et de l'utiliser comme une occasion de mentorat. Bien sûr, certains n'apprendront jamais, mais vous avez plus de problèmes à ce point.
Ce n'est pas seulement pointues, cheveux boss soit. En tant que senior dev, il est souvent difficile de résister à l'envie de maman les développeurs juniors. "Oh, je vais le faire cette partie parce que c'est trop dur pour eux", ou il va prendre trop de temps, ou ils vont loin dans les herbes.
Et enfin, assurez-vous de trouver un équilibre entre idiomatiques code qui utilise toute la puissance d'une langue vs idiomatiques code d'abus de ce pouvoir. Il n'y a pas de raison, vous avez besoin de remplacer l'opérateur || juste pour exécuter ses arguments dans deux threads différents. Au moins stupide le code vers le bas un peu pour votre plus âgés, dumber, le soi futur.
Eh bien, je pense qu'il est raisonnable d'éviter l'utilisation "intelligente" des éléments de langage, sauf si ils ont vraiment, vraiment faire le code mieux, au terme de laquelle, si un développeur junior voit, j'espère qu'ils demanderais plutôt que d'être simplement flumoxed.
Voici une autre façon de phrasé bien: "Écrire votre code, de sorte qu'il est assez facile de comprendre que si vous avez appelé à 3h du matin et demandé de fixer un bug, vous pouvez toujours les comprendre."
Sérieusement, le rendre aussi facile à comprendre que possible. Qui ne veut pas dire un commentaire à chaque ligne, il signifie un commentaire où le but d'un morceau de code n'est pas évident, et alors seulement, d'où le choix de "bien faire il évident" ne fonctionne pas.
Il y a une différence entre le code du puzzle et le code complexe.
J'ai trouvé que le plus gros problème est qu'il y a une grande différence entre "facile à comprendre en lisant" et "bien factorisé", et que les deux objectifs sont souvent en tension directe l'un avec l'autre. Dans un code bien factorisé, il y a beaucoup plus de sauts entre les classes et beaucoup de répartition virtuelle, donc le chemin à travers le code est très non linéaire.