it-swarm-es.com

¿Alguna vez ha tenido que codificar "mal" para su equipo?

He estado en el camino constante de aprender nuevos conceptos en OOP, diseño de software, arquitectura, etc. Pero hay momentos en que se encuentra en un equipo donde esos conceptos son ajenos a ellos y no tienen tiempo o lo mismo. Ansio a aprender como tú.

El problema es que si diseñas su código "Derecho", las personas que codifican con las clases de 2kloc no lo entenderán. ¿Sacudirías buenos principios de codificación para apoyar a tu equipo? ¿Qué pasa con un escenario donde este será un arreglo a largo plazo?

15
Jonn

Bienvenido en el mundo real.

Trabajé con cientos de desarrolladores diferentes de todo el mundo, en startups y grandes empresas. La gran mayoría de ellos no entienden conceptos avanzados, y no en el futuro. Es demasiado complicado para dominar algo a menos que gastes más de una década en ese campo en particular. Muy pocos son capaces de hacer eso.

Es por eso que estoy realmente molesto cuando uno de mis desarrolladores está demasiado "accionado por CV" y trata de implementar patrones de diseño que no hacen nada mejor, pero le permiten poner algo nuevo en su currículum (o el título "arquitecto"), mientras que el resto Del equipo se está extendiendo para entender y mantener su código.

Es por eso que creo que un buen desarrollador no es el técnicamente supperior, sino la más pragmática del paquete:

Un excelente desarrollador intenta convertir una funcionalidad, la empresa pregunta maximizando el ROI.

Imho, manteniendo las cosas simples, es el camino a seguir. Si quieres hacer las cosas "correctas", hazlo en casa. Tu jefe está espectando algo más de ti.

14
user2567

Creo que hay una diferencia entre lo que se está referiéndose y deuda técnica.

La deuda técnica es cuando realiza deliberadamente una implementación hacky y rápida con todo el conocimiento que tendrá que cambiar el diseño en una etapa posterior. Similar a la deuda financiera Esto puede ser beneficioso para un proyecto, pero debe ser consciente de ello y eliminarlo en una etapa posterior.

En términos de no usar deliberadamente, las características del idioma, también he estado en esa situación. Recuerdo que una vez implementé delegados anónimos justo después de :C # 2. salió, y unos meses más tarde vi a alguien simplemente eliminó a mi delegado y lo reemplazó con un método normal. Simplemente no entendieron el código :

Dicho esto, no siempre es algo malo. --- (vamos a mantenerlo simple.

5
Jaco Pretorius