La programación es dos cosas en una:
- escriba código que resuelva el problema de la mejor manera que pueda con sus conocimientos y habilidades
- escriba el código que alguien que no sea usted podrá comprender, modificar y mantener.
La ética de programación es el comportamiento personal para alcanzar estos objetivos.
Tenga en cuenta que no mencioné el cumplimiento de las especificaciones, ya que las especificaciones, en todos los proyectos en los que participé, son fluidas. DEBE verificar minuciosamente las especificaciones y, si hay algo que contradiga los principios antes mencionados, debe hacer todo lo posible (ingeniería social, persuasión moral y lo que sea) para permitir que se modifiquen.
Tenga en cuenta también que el punto 2 requiere documentación: escribirlo y actualizarlo regularmente es parte de esta ética. Creo firmemente que la documentación no solo debe ser lo que incrusta en su código, que es obligatorio, sino también documentos generales sobre sus decisiones de diseño, las entidades involucradas y sus relaciones, en un lenguaje humano simple, posiblemente en inglés con la frecuencia con la que trabajará en su código no entenderá su idioma nativo.
- ¿Es ético que los agentes inmobiliarios que actúan como agentes duales nieguen a otros compradores la oportunidad de contrarrestar la oferta?
- ¿Cómo se habla con un niño en edad escolar sobre el concepto de ser una persona honorable?
- ¿Cuáles son las formas de luchar contra las personas corruptas y poco éticas en la India?
- ¿De qué manera el supuesto conflicto de intereses de Sourav Ganguly en la IPL se considera poco ético para el juego de cricket?
- Si un joven de 16 años se ve obligado a lavar su propia ropa, cuidar su propia vida, ganar su propio dinero y cocinar sus propios alimentos con sus padres, ¿no es ético?