¿Cuáles son los pecados más comunes de los programadores perezosos?

Los programadores perezosos son los BUENOS. Programadores perezosos …

  • Escriba pruebas unitarias porque es más fácil que lidiar con informes de defectos y usuarios finales enojados / molestos.
  • Use nombres de variables descriptivos y agregue comentarios útiles porque es demasiado trabajo tener que pensar en secciones complicadas de código cada maldita vez.
  • Codifique usando abstracciones, porque ¿quién quiere hacer toda esa plomería solo para cambiar algo en el back-end?
  • Refactoriza constantemente porque si no lo hacen ahora, más tarde apestará.
  • Muestre su trabajo a los usuarios objetivo siempre que sea posible, para que no tengan que rehacerlo más tarde cuando los usuarios cambien de opinión.
  • Automatice sus compilaciones porque ¿quién quiere pasar todo ese tiempo retocando / organizando el resultado de la compilación?

También pasan tiempo en Reddit y Quora, me han dicho :).

Voy a romper la tendencia de muchas de las respuestas que he visto y afirmar que los comentarios en línea son, a menudo, (no siempre), el resultado de la pereza.

Se necesita una cierta cantidad de esfuerzo y motivación para aprender y practicar los principios de diseño de SOLID [1], pero una vez aceptados, avanzan hacia la escritura de código limpio [2]. Código limpio, es un código autodocumentado. Es posible organizar y etiquetar estructuras de datos, variables y funciones de manera que leer el código explique lo que está haciendo.

Los programadores perezosos escriben el código de la manera que les parezca más obvia en ese momento , y lo agregan a medida que se descubre nueva información y errores sin refactorizarlos en unidades conceptualmente atómicas con nombres descriptivos. El resultado se parece más a un borrador de un programa que a un producto terminado, y lo dejan así.

Muchas veces, si su código necesita comentarios, es una indicación de que su código necesita una revisión.

Notas al pie

[1] SÓLIDO (diseño orientado a objetos) – Wikipedia

[2] Código limpio

Los siete pecados capitales :
1. Lujuria: sobre ingeniería
2. Glotonería: no refactorizar
3. Avaricia: compitiendo entre equipos
4. Pereza: no validando entradas
5. Ira: sin comentar el código
6. Envidia: no usar control de versiones
7. Orgullo: no pruebas unitarias
Fuente: http://www.javaworld.com/javawor

  • No escribo ningún comentario.
  • No escribir pruebas unitarias.
  • No pensar o lidiar con condiciones de error de manera razonable.
  • Cortar y pegar implementaciones con pequeños cambios de nombre a métodos y nombres de variables.
  • Pensando “Arreglaré esto más tarde”.

http://stackoverflow.com/a/184673

– escribir código cuando está borracho

  // borracho, arreglalo más tarde

– escribir comentarios que son completamente inútiles

  retorno 1;  # devuelve 1

– o comentarios que mienten SOB

  / * Siempre devuelve verdadero.  * /
 public boolean isAvailable () {return false;  }

Para mí, hay un error que sucede una y otra vez.

1. Escriba toneladas de líneas a la vez sin compilarlas. Luego, al final, cuando finalmente compilamos, encontramos muchas líneas que faltaban punto y coma.

2. Declare la variable con el mismo nombre un par de veces.

3. Variable no inicializada. Y lo que me deja sin idea de por qué mi resultado final es tan grande.

4. Código sin comentar. El código escrito por mí mismo me parece desconocido después de 1 o 2 días.

  • No delinear, documentar o reconocer la diferencia entre abstracción e implementación.
  • No reconocer la existencia de fuerzas no técnicas.
  • Sistemas de software como especificaciones cuyas interfaces cambian a medida que los propietarios lo consideran conveniente.
  • Diferir la comunicación con otros humanos hasta que la cantidad de información que se debe intercambiar sea casi imposible de absorber en detalle sin una alta tasa de error.
  • Lanzar un sistema “por encima del muro” y negarse a considerar las necesidades del equipo de soporte.
  • No hacer documentación o no mantenerla actualizada.
  • No pedirles a otros que lean su código antes de enviarlo.
  • No escribir pruebas unitarias
  • Codificación contra implementaciones en lugar de abstracciones
  • Crear dependencias innecesarias
  • Nunca usar técnicas de diseño OOP adecuadas
  • Variables mal nombradas
  • No separar las preocupaciones, particularmente la GUI de todo lo demás
  • No suponiendo primero que el error está en su código

No diseñar ni codificar la capacidad de prueba. Esto morderá más tarde.

No hay refactorización debido al principio “después de todo, todavía funciona”.

Nombres aleatorios de variables, métodos, clases, etc. como excusa para poder encontrar un buen nombre en ese momento.

  • El compilador / intérprete entiende mi lenguaje, quien dice que es desordenado / ilegible / no extensible.
  • ¡Bob, qué es ese patrón de diseño, del que estabas hablando (y no me importa una mierda)!
  • No … no, fu * k la usabilidad, este es exactamente el comportamiento de esta aplicación. Usa o muere, tu deseo.

En realidad, no solucione un error de subprocesamiento, solo agregue llamadas “usleep” hasta que pasen las pruebas. Cuando comience a romperse nuevamente, parecerá el problema de otra persona.

Olvidar poner un punto final al final de una declaración if y else (donde se necesita con tanta frecuencia) en un programa COBOL. No puedo decirte el dolor que me causó cuando era un programador principiante.
Mostrando mi edad de nuevo!

Sin documentación No hay campos de comentario.

Estoy de acuerdo con algunas de las respuestas, ya que un programador perezoso suele escribir un buen código. Sin embargo, un buen código, sin documentación de ningún tipo, hace que el buen código sea bastante inútil.

declaraciones de importación de comodines, por ejemplo

import java.io. *;

1. // TODO:
2. Los siete pecados capitales :
yo. Lujuria: sobre ingeniería
ii. Glotonería: no refactorizar
iii) Avaricia: competir entre equipos
iv. Pereza: no validando entradas
v. Ira: código sin comentarios
vi. Envidia: no usar control de versiones
vii. Orgullo: no pruebas unitarias

// QUE HACER:

  • No registrar las horas correctamente
  • Informes vagos de errores
  • Informes vagos de tareas
  • Documentación vaga al finalizar la tarea / rotación

More Interesting

Tengo que desarrollar un programa para mi curso de algoritmos. ¿Cuál sería un buen proyecto para desarrollar en un máximo de dos meses con un algoritmo?

¿Cuál es actualmente la base de datos (software) más segura?

¿Qué es un buen complemento de membresía en WordPress?

¿Cuál es la diferencia entre un programador profesional y un programador mediocre?

¿Cuál es una descripción intuitiva de cómo funciona Lucene?

¿Los mejores ingenieros evitan trabajar en grandes empresas como Google y Facebook?

¿Es posible construir software que no pueda ser pirateado?

¿Qué debe elegir una persona para un curso de pregrado de 4 años? - Matemáticas e informática, o ingeniería civil? En IIT, en India.

¿Qué es un equipo de desarrollo ágil?

Soy un estudiante de segundo año. No soy del departamento de informática, pero tengo un conocimiento justo de la informática. ¿Cuáles son las principales cosas en informática que debo aprender para obtener un trabajo de CS?

¿Cuáles son las habilidades más exigentes en las principales empresas de tecnología como Google, Facebook y Microsoft?

Cómo no arruinar un proyecto de software

¿Un empleador lo demandará porque crea un proyecto de código abierto competitivo para su propio proyecto de código abierto?

¿Alguien puede probar la afirmación de la Asamblea General de que '90% de los estudiantes han seleccionado un puesto dentro de los 90 días de la graduación'?

¿Cuál es la probabilidad de que un desarrollador de software cree 0 errores de software en su producto de trabajo el 100% del tiempo?