Em suma, a melhor maneira de aprender é geralmente para sair com alguém que você pode aprender a partir . Se você acha que suas habilidades não são adequadas, sair com pessoas melhores que você é o melhor que você pode fazer. Certamente muito melhor do que se retirar e se isolar ainda mais.
No entanto, acho que você está pintando uma imagem muito simplificada e enganosa. Longe de todos os programadores "ensinados profissionalmente" são realmente bons. Só porque eles fazem algo não significa necessariamente que é a coisa certa a fazer.
E muito (mas não todos) que você está dizendo realmente soa como você é o único que poderia ensinar -lhes um truque ou dois.
Eu me inclino mais para o lado funcional do que OO, mas vejo o uso de OO quando algo faria mais sentido como uma entidade abstrata.
Isso parece ótimo para mim. Os melhores codificadores são aqueles que usam a ferramenta certa para o trabalho. Eu sempre escolhia alguém que conhece os dois paradigmas e usa cada um deles onde faz sentido sobre alguém que religiosamente usa apenas um paradigma.
Em seguida, eu também seguirei o caminho simples ao fazer algo. Por outro lado, às vezes parece que o código que vejo dos programadores profissionais é complicado por causa disso!
Mais uma vez, a simplicidade é boa . Não faça seu código complexo até que ele precise ser complexo. Algumas pessoas não tendem a fazer coisas complexas de uma idéia equivocada de elegância, ou porque "vamos precisar dessa funcionalidade adicional mais tarde". Geralmente, é melhor fazer a coisa mais simples que resolve o seu problema.
Eu uso muitos fechamentos. Boa. É por isso que eles estão lá. Eles assustam algumas pessoas que ficaram presas nos anos 90 e no modelo quase-OOP obsoleto de Java, mas na verdade esse é o problema deles.
E, por fim, não sou o melhor comentarista.
O que deve ser comentado e como é altamente subjetivo. Não existe um "certo" ou "errado" real, mas ao trabalhar em uma equipe, é importante escrever um código que toda a equipe, e não apenas o autor do código, possa entender. E, às vezes, é preciso fazer compromissos para se adaptar ao estilo de codificação da equipe. Isso não significa necessariamente que você deve escrever mais comentários, simplesmente significa que é algo com o qual você e sua equipe terão que concordar.
Eu ouço programadores treinados profissionalmente falando sobre coisas como testes de unidade. Algo que nunca usei antes, por isso nem tenho a menor idéia do que são ou como funcionam.
Bem, pergunte a eles. :) Testar seu código é essencial, e testes de unidade são uma ferramenta popular e útil para isso.
Muitos e sublinhados "_", que não são realmente o meu gosto.
Como nos comentários, isso é subjetivo e depende do idioma. Em C e C ++, lowercase_with_underscores
é uma convenção de nomenclatura bastante comum. Em muitos outros idiomas, você quase nunca verá um sublinhado. Mas no final das contas, isso realmente não é importante. Se uma função é chamada write_to_log
ou WriteToLog
não realmente fará diferença. Alguém vai ter que aceitar e se conformar com o que a equipe concordou lá.
Não sei nada sobre o MVC, já ouvi falar muito sobre isso, com coisas como o backbone.js. Eu acho que é uma maneira de organizar um aplicativo. Isso apenas me confunde, porque agora eu já criei minhas próprias estruturas organizacionais.
Como nos testes de unidade, nunca pare de aprender. Você trabalha em conjunto com pessoas que sabem coisas que não sabem e que têm uma formação diferente da sua. Aprenda um com o outro. Há claramente coisas que você pode ensinar a elas, mas também há coisas que você não sabe, ou nunca ouviu falar, e que elas podem ensinar. Isso não significa que você (ou eles) é um programador ruim. Isso significa que um bom programador é aquele que se esforça para melhorar e aprender com os outros.
Programação OO completa realmente deixa um gosto ruim na minha boca
O mesmo aqui, e eu sou o que você chamaria de "profissionalmente treinado" (um diploma de CS). As pessoas que aprenderam programação diferem tanto quanto as que são autodidatas. Parece que você está trabalhando com alguns que realmente precisam aprender alguns truques novos.
Na verdade, eu tenho um pouco de medo do fato de que as pessoas acabarão verificando meu código. Isso é algo normal que qualquer programador passa ou devo realmente procurar mudar minhas técnicas?
Ambos. É claro que é assustador ter outras pessoas olhando (e julgando) o que você fez. Mas também é muito educativo. Eles podem lhe dizer o que teriam feito de outra maneira ou por que teriam feito de outra maneira. Eles podem ajudá-lo a melhorar e também podem aprender algo. Mostre a eles o código que resolve um problema melhor do que sua solução "preferida" teria, e espero que eles digam "ah, isso é legal. Como você sabia disso? Como você chama isso? Eu deveria usar essa técnica "