¿Cómo los estudiantes de posgrado mejoran su código, ya que no existe un proceso formal?

Los estudiantes graduados de CS, al igual que los programadores, trabajan de manera diferente.

Algunos no codifican mucho, si es que lo hacen.

Algunos implementan prototipos y pruebas de concepto donde la calidad del código no es importante. Es la idea o el algoritmo lo que importa; el código solo debe ser lo suficientemente bueno para ejecutar algunos puntos de referencia.

Algunos trabajan en software de producción, a menudo como código abierto y en equipos. Nada les impide tener una revisión de código y otros procesos prestados del mundo de la ingeniería de software. Algunos que sé que hacen, y otros terminan teniendo algo similar a la revisión de código de manera informal, lo que todavía les brinda a todos o la mayor parte del beneficio de un proceso formal.

Si están trabajando en parte de un proyecto más grande (piense en GHC o Spark), utilizarán los procesos establecidos para ese proyecto, lo que puede implicar la revisión del código por parte de algún responsable u otro contribuyente.

Los estudiantes de posgrado también trabajan con personas que no son estudiantes: quizás el proyecto de código abierto es lo suficientemente grande como para atraer contribuciones externas o están trabajando con ingenieros de alguna empresa interesada. En este caso, pueden adoptar las prácticas internas de sus colaboradores o alguna variación de las mismas.

Básicamente, diferentes estudiantes de posgrado hacen cosas diferentes, al igual que diferentes programadores. Algunos revisan el código, formalmente o no, y otros no. Y terminan con diferentes niveles de calidad de código. La mayoría de las veces esto está bien porque tienen diferentes requisitos y objetivos, nuevamente como ingenieros diferentes.

Es raro en la academia hacer un esfuerzo especial en cosas como la legibilidad o el mantenimiento. El código del estudiante de posgrado suele ser hack y mínimamente comentado con modificaciones ad hoc realizadas según sea necesario. Simplemente funciona y eso es todo lo que se necesita para publicar. El código de fuente abierta es poco común, en parte porque disminuye la competitividad de su grupo, por lo que el código suele ser solo una herramienta personal.

Si / cuando se necesita pasar a la próxima generación de doctorados, tal vez el estudiante senior pasará una o dos tardes explicando los misterios del código. El ciclo luego se repite.

Ajuste las expectativas en consecuencia. La necesidad de niveles de garantía de calidad del usuario final es menor para el código de investigación. Sin embargo, es importante que alguien revise su código. Esto normalmente lo hacen sus compañeros de laboratorio o asesor.

Encuentre un socio de revisión de código y / o simplemente tome las prácticas que aprendió en la industria y utilícelas como un estudiante graduado.

Parte del desarrollo de su carrera debe incluir una autoevaluación inicial, luego de lo cual debe pedirle a otra persona una segunda opinión sobre si cumplió con todos los requisitos.

More Interesting

¿Por qué TeXmacs aún no ha reemplazado a TeX o LaTeX?

¿Cuál es la investigación más emocionante en informática en 2010? ¿Por qué es emocionante?

¿Por qué el aprendizaje de la red neuronal se ralentiza a medida que el error disminuye? ¿Esto necesita ser el caso?

¿Por qué las empresas como Google, Microsoft y Facebook publican su trabajo en lugar de guardar los hallazgos como secretos industriales?

¿Existe una relación entre el aprendizaje múltiple y el análisis de datos topológicos?

¿Cuál es el punto de la informática teórica en un programa de pregrado?

¿Puede señalarme un buen artículo que profundice en algunas posibles direcciones futuras del aprendizaje automático?

¿Cuál es el campo donde la investigación tiene la aplicación más rápida?

¿Cuáles son los documentos de lectura obligatoria en el campo de la visión por computadora para un estudiante en la investigación en el campo?

¿Qué es el algoritmo de llenado de región en el capítulo de procesamiento morfológico?

¿Cuáles son los trabajos académicos clásicos en finanzas computacionales / comercio algorítmico?

¿Cuáles son los pasos para hacer captura de movimiento?

¿Puede la programación competitiva ayudarlo a mejorar en la investigación teórica de la informática / algoritmos? Parece que después de haber resuelto miles de problemas difíciles, puede abordar los problemas en su investigación de manera más eficiente, ¿verdad?

¿Qué áreas de la informática involucran más trabajo de hardware?

¿Cuáles son los laboratorios de investigación corporativos más prestigiosos para la informática?