En resumen, la mejor manera de aprender es por lo general para pasar el rato con alguien que puede aprender de . Si sientes que tus habilidades no están a la altura, salir con personas que son mejores que tú es lo mejor que puedes hacer. Ciertamente, mucho mejor que retirarse y aislarse aún más.
Sin embargo, creo que estás pintando una imagen muy simplificada y engañosa. Lejos de todos los programadores "profesionalmente enseñados" son realmente buenos. El hecho de que hagan algo no significa necesariamente que sea lo correcto.
Y mucho (pero no todos) de lo que está diciendo realmente suena como que eres el que podría enseñar a un truco o dos.
Me inclino por el lado funcional más que OO, pero veo el uso de OO cuando algo tendría más sentido como entidad abstracta.
Eso suena genial para mi. Los mejores codificadores son los que usan la herramienta adecuada para el trabajo. Siempre elegiría a alguien que conozca ambos paradigmas y use cada uno de ellos donde tenga sentido sobre alguien que religiosamente use solo un paradigma.
A continuación, también voy por la ruta simple cuando hago algo. En contraste, parece que a veces el código que veo de los programadores profesionales es complicado por el simple hecho de hacerlo.
Nuevamente, la simplicidad es buena . No haga su código complejo hasta que necesite ser complejo. Algunas personas no tienden a hacer cosas complejas de una idea equivocada de la elegancia, o porque "vamos a necesitar esta funcionalidad adicional más adelante". En general, es mejor hacer lo más simple que resuelva su problema.
Yo uso muchos cierres. Bueno. Por eso están ahí. Asustan a algunas personas que se quedaron atrapadas en el modelo cuasi-OOP anticuado de los años 90 y Java, pero realmente, ese es su problema.
Y, por último, no soy el mejor comentarista.
Lo que debe comentarse y cómo es altamente subjetivo. No hay un verdadero "correcto" o "incorrecto" allí, pero cuando se trabaja en un equipo, es importante escribir un código que todo el equipo, y no solo el autor del código, pueda entender. Y a veces, se deben hacer compromisos para cumplir con el estilo de codificación del equipo. Eso no significa necesariamente que deba escribir más comentarios, simplemente significa que es algo en lo que usted y su equipo tendrán que estar de acuerdo.
Escucho a programadores capacitados profesionalmente seguir y seguir sobre cosas como las pruebas unitarias. Algo que nunca he usado antes, así que ni siquiera tengo la menor idea de qué son o cómo funcionan.
Bueno, pregúntales. :) Probar su código es esencial, y las pruebas unitarias son una herramienta popular y útil para esto.
Montones y montones de guiones bajos "_", que no son de mi agrado.
Al igual que con los comentarios, eso es subjetivo y depende del idioma. En C y C ++, lowercase_with_underscores
es una convención de nomenclatura bastante común. En muchos otros idiomas, prácticamente nunca verías un guión bajo. Pero al final del día, realmente no es importante. Si una función se llama write_to_log
o WriteToLog
no realmente va a hacer la diferencia. Alguien tendrá que asimilarlo y cumplir con lo que el equipo haya acordado allí.
No sé nada sobre MVC, aunque he escuchado mucho sobre cosas como backbone.js. Creo que es una forma de organizar una aplicación. Sin embargo, me confunde porque ahora he creado mis propias estructuras organizativas.
Al igual que con las pruebas unitarias, nunca dejes de aprender. Trabaja junto con personas que saben cosas que usted no sabe y que provienen de un entorno diferente al suyo. Aprender de los demás. Claramente hay cosas que puedes enseñarles, pero también hay cosas que no sabes, o de las que nunca has oído hablar, que pueden enseñarte. Eso no significa que usted (o ellos) sean malos programadores. Significa que un buen programador es aquel que se esfuerza por mejorar y aprender de los demás.
La programación completa de OO realmente deja un mal sabor de boca
Lo mismo aquí, y soy lo que llamarías "profesionalmente entrenado" (un título de CS). Las personas a las que se les ha enseñado programación difieren tanto como las personas que son autodidactas. Parece que estás trabajando con algunos que realmente necesitan aprender algunos trucos nuevos.
De hecho, tengo bastante miedo del hecho de que la gente eventualmente revisará mi código. ¿Es esto algo normal por lo que pasa cualquier programador o realmente debería buscar cambiar mis técnicas?
Ambos. Por supuesto, da miedo que otros vean (y juzguen) lo que has hecho. Pero también es muy educativo. Pueden decirle lo que habrían hecho de otra manera, o por qué lo habrían hecho de otra manera. Pueden ayudarlo a mejorar y también pueden aprender algo ellos mismos. Muéstreles un código que resuelva un problema mejor de lo que lo hubiera hecho su solución "preferida", y esperemos que digan "oh, eso está bien. ¿Cómo supiste hacer eso? ¿Cómo llamas a esto? Debería usar esta técnica yo mismo "