Como desarrollador joven, me sería útil obtener algunos consejos sobre cosas en las que pensar para desarrollar una aplicación de alta calidad. En mis cursos universitarios, la mayoría de los maestros enfatizaron la validación de entrada y algunos hablaron sobre preocupaciones de seguridad, pero nadie cubrió la importancia de ciertas otras cosas, como el registro, por ejemplo.
¿Cuáles son algunos errores que los desarrolladores inexpertos tienden a cometer que podrían generar frustración para los desarrolladores más experimentados?
applications
quality
professionalism
Awmckinley
fuente
fuente
Respuestas:
Creo que lo principal que los nuevos desarrolladores olvidan es que en el mundo real a menudo trabajan como parte de un equipo. Esto se muestra como ...
Eso no quiere decir que su código no esté a la altura de forma aislada, pero ya no funcionan de forma aislada.
fuente
En Windows, estos impuestos son :
En casi todas las plataformas, tendrás que lidiar con:
fuente
En mi experiencia, lo único que casi todos los desarrolladores inexpertos no tienen en cuenta es que (casi siempre) está trabajando en un entorno comercial. Tu código tiene que ser bueno, pero no perfecto. Lo más importante no es la perfección, es que tu código se envía.
Dicho de otra manera, entregar el código perfecto tres meses después de que su empresa se arruine no es bueno para nadie.
En mi opinión, esta es una de las formas más significativas en que el desarrollo en el mundo real difiere del desarrollo que se enseña en la universidad.
fuente
Pregunta realmente amplia; contestar en detalle es ... múltiples libros.
Aquí hay una lista de verificación general de definición de sistemas para comenzar:
fuente
El desacoplamiento limpio del sistema en la máquina de desarrollo de uno y la máquina de destino, para que uno no termine con situaciones de "Bueno, funciona en mi máquina".
¿Y qué tan rápido puede reconstruir su máquina de desarrollo?
fuente
Creo que probablemente sea diseño, es decir, el enfoque de pensar en lo que vas a hacer antes de hacerlo.
A demasiados codificadores inexpertos (recuerden cuando comenzaron) les gusta saltar y poner algo en marcha, luego agregue un poco más y anuncie un poco más y agregue un poco más. Este enfoque puede funcionar si ha planeado hacerlo de esa manera (después de todo, cada bit se puede probar a medida que avanza), pero la mayoría de los codificadores inexpertos solo se centran en la parte que están escribiendo ... por lo que todas las adiciones tienden a ser pirateadas en la parte superior. ¡Y todos hemos visto código que ha evolucionado así!
La organización es lo siguiente, a menudo están demasiado centrados en el código que han escrito para recordar cómo lo hicieron y lo que se requería. Entonces se olvidan de agrupar o documentar una dependencia que se requiere. También tienden a poner las cosas donde caen, tuve que criticar a un junior la semana pasada que revisó su código en el directorio raíz, incluidos 3 wsdls, 2 de los cuales eran el mismo archivo y un conjunto de archivos de terceros que cometió en un subdirectorio y el directorio raíz. El código no estaba formateado para ningún estándar que se pudiera imaginar, y había varias funciones que estaban presentes pero que nunca se llamaron.
Obviamente lo hizo funcionar, pero no estaba ordenado, y eso significaba que la instalación y el mantenimiento habrían sido problemáticos.
fuente
Creo que las mayores diferencias están en la técnica de codificación. Todos tienen un enfoque ligeramente diferente, pero los desarrolladores sin experiencia tienden a producir código que:
fuente
Debido a que preguntaste lo peor, entonces mi respuesta es la siguiente:
fuente
Mi mayor es recordar planificar la flexibilidad. En las clases, los requisitos casi siempre se establecen al principio y nunca cambian. En el software, a menudo sucede lo contrario: obtienes un conjunto vago de requisitos, y cambian a menudo (incluso a diario). Lo mejor que puede hacer para ayudar con esto es codificar de manera flexible: acoplamiento flexible, funciones pequeñas que se pueden usar de manera confiable en múltiples situaciones y evitar la codificación de las cosas lo más posible.
Con el tiempo, es probable que aprenda a) qué cosas tienen más probabilidades de cambiar y, por el contrario, qué probablemente no cambiará, yb) cómo anticipar las solicitudes de cambio y planificarlas.
fuente