Bref, la meilleure façon d'apprendre est généralement traîner avec quelqu'un que vous pouvez apprendre de . Si vous estimez que vos compétences ne sont pas à la hauteur, sortir avec des gens meilleurs que vous est ce que vous pouvez faire de mieux. Certainement beaucoup mieux que de se retirer et de s’isoler davantage.
Cependant, je pense que vous dressez un tableau très simplifié et trompeur. Loin de tous les programmeurs "professionnellement enseignés" sont vraiment bons. Le simple fait de faire quelque chose ne signifie pas nécessairement que c'est la bonne chose à faire.
Et beaucoup (mais pas tous) ce que vous dites ressemble vraiment à celui qui pourrait leur apprendre un tour ou deux.
Je me penche davantage sur le côté fonctionnel que sur OO, mais je vois l'utilisation de OO quand quelque chose aurait plus de sens en tant qu'entité abstraite.
Cela me semble bien. Les meilleurs codeurs sont ceux qui utilisent le bon outil pour le travail. Je choisissais toujours quelqu'un qui connaissait les deux paradigmes et utilisait chacun d'eux lorsqu'il était logique de choisir quelqu'un qui n'utilisait religieusement qu'un seul paradigme.
Ensuite, je vais aussi la voie simple lorsque vous faites quelque chose. Quand au contraire, il semble que parfois le code que je vois des programmeurs professionnels est compliqué pour le plaisir de le voir!
Encore une fois, la simplicité est bonne . Ne faites pas votre code complexe jusqu'à ce qu'il ait besoin d'être complexe. Certaines personnes n'ont tendance à faire des choses complexes d'une idée peu judicieuse de l' élégance, ou parce que « nous aurons besoin de cette fonctionnalité supplémentaire plus tard. » En règle générale, il est préférable de faire la chose la plus simple qui résout votre problème.
J'utilise beaucoup de fermetures. Bien. C'est pourquoi ils sont là. Ils effraient certaines personnes qui se sont retrouvées coincées dans les années 90 et le modèle quasi-OOP dépassé de Java, mais c'est vraiment leur problème.
Et enfin, je ne suis pas le meilleur commentateur.
Ce qui devrait être commenté et comment est hautement subjectif. Il n'y a pas vraiment de "vrai" ou de "faux", mais lorsque vous travaillez en équipe, il est important d'écrire du code que toute l'équipe, et pas seulement l'auteur du code, peut comprendre. Et parfois, des compromis doivent être faits pour se conformer au style de codage de l'équipe. Cela ne signifie pas nécessairement que vous devriez écrire plus de commentaires, cela signifie simplement que c'est une chose sur laquelle vous et votre équipe devrez vous mettre d'accord.
J'entends des programmeurs formés professionnellement parler sans cesse de choses comme les tests unitaires. Quelque chose que je n'ai jamais utilisé auparavant, alors je n'ai même pas la moindre idée de ce qu'ils sont ou de leur fonctionnement.
Eh bien, demandez-leur. :) Tester votre code est essentiel, et les tests unitaires sont un outil populaire et utile pour cela.
Des tas de traits de soulignement "_", qui ne sont pas vraiment mon goût.
Comme pour les commentaires, cela est subjectif et dépend de la langue. En C et C ++, il lowercase_with_underscores
existe une convention de dénomination assez commune. Dans de nombreuses autres langues, vous ne verrez pratiquement jamais de soulignement. Mais au bout du compte, ce n'est vraiment pas important. Qu'une fonction soit appelée write_to_log
ou WriteToLog
ne va pas réellement faire la différence. Il va falloir que quelqu'un suce et se conforme à ce que l'équipe a convenu de faire.
Je ne sais rien de MVC, j'en ai souvent entendu parler avec des choses comme backbone.js. Je pense que c'est un moyen d'organiser une application. Cela me confond toutefois, car j’ai maintenant créé mes propres structures organisationnelles.
Comme avec les tests unitaires, n'arrêtez jamais d'apprendre. Vous travaillez avec des personnes qui savent des choses que vous ne connaissez pas et qui viennent d'un milieu différent de vous. Apprendre les uns des autres. Il y a clairement des choses que vous pouvez leur apprendre, mais il y a aussi des choses que vous ne savez pas, ou dont vous n'avez jamais entendu parler, qu'ils peuvent vous apprendre. Cela ne signifie pas que vous (ou eux) êtes un mauvais programmeur. Cela signifie qu'un bon programmeur est celui qui s'efforce de s'améliorer et d'apprendre des autres.
La programmation OO complète laisse vraiment un mauvais goût dans la bouche
Idem ici, et je suis ce que vous appelleriez une "formation professionnelle" (un diplôme en informatique). Les personnes à qui on enseigne la programmation diffèrent tout autant que les autodidactes. On dirait que vous travaillez avec des personnes qui ont vraiment besoin d'apprendre quelques nouveaux trucs.
En fait, je suis plutôt effrayé par le fait que les gens vont éventuellement vérifier mon code. Est-ce juste quelque chose de normal qu'un programmeur traverse ou devrais-je vraiment chercher à changer mes techniques?
Tous les deux. Bien sûr, il est effrayant de demander aux autres de regarder (et de juger) ce que vous avez fait. Mais c'est aussi très instructif. Ils peuvent vous dire ce qu'ils auraient fait autrement ou pourquoi ils l'auraient fait autrement. Ils peuvent vous aider à vous améliorer et ils pourraient aussi apprendre quelque chose eux-mêmes. Montrez-leur un code qui résout mieux le problème que ne l'aurait fait leur solution "préférée", et j'espère qu'ils iront "oh, c'est génial. Comment avez-vous su faire cela? Comment appelez-vous cela? Je devrais utiliser cette technique moi-même "