Los principios de programación más extraños que nunca hayas escuchado
Ya lo hemos guiado a través de los principios de programación más importantes 10 Principios básicos de programación que todo programador debe seguir 10 Principios básicos de programación que debe seguir cada programador Siempre escriba un código que pueda ser mantenido por cualquier persona que pueda terminar trabajando en su software. Para ello, aquí hay varios principios de programación para ayudarlo a limpiar su acto. Lea más que necesita saber, pero hay otra clase de principios de programación que pueden probar aún más beneficioso que aquellos.
Considerando que los principios antes mencionados te enseñan cómo ser inteligente Con su código, los siguientes principios le enseñarán a ser sabio con su codigo Algunos de ellos son extraños, y muchos de ellos son cómicos, pero todos son igualmente prácticos e importantes. Prestar atención!
1. El principio de la hinchazón
Esta tiene tantas variaciones que es difícil elegir una como la principal. Quizás el más “oficial” La versión es la Ley de Envolvente de Software, más comúnmente llamada Ley de Zawinski, el nombre de Jamie Zawinski y se menciona en El Arte de la Programación UNIX:
“Cada programa intenta expandirse hasta que pueda leer el correo. Aquellos programas que no pueden expandirse son reemplazados por otros que pueden.”
Se trata de la tendencia de los programas a atraer más y más funciones a lo largo del tiempo y, inevitablemente, a la deriva hacia la creciente complejidad. Usted puede saber esto como característica de arrastramiento, que es la adición continua de nuevas características que no tienen nada que ver con el propósito principal del programa. El arrastre de características lleva a la hinchazón y la hinchazón a menudo no es deseable.
Esto también puede aplicarse al rendimiento del software:
“El software se expande para consumir todos los recursos disponibles..”
En los años 90, los discos duros, las CPU y la RAM eran mucho más restrictivos de lo que son hoy en día y los programadores trabajaron arduamente para encajar tanto como pudieron dentro de los límites. Sin embargo, ahora que tenemos unidades de disco más grandes, CPU más rápidas y más RAM, todavía nos cuesta respetar los límites. Todo se hincha con el tiempo. Es tu trabajo mantener eso bajo control.
2. El “Peor es mejor” Mentalidad
Casi como en respuesta al principio de Bloat, tenemos la Peor es mejor mentalidad, acuñado por Richard P. Gabriel en un ensayo que escribió sobre la calidad del software:
“El software limitado, pero fácil de usar, puede ser más atractivo para el usuario y el mercado que lo contrario..”
En otras palabras, es sabio averiguar la un problema Su software tiene como objetivo resolver y luego ser muy bien en eso una cosa Mantenlo simple. Cuanto más se extienda, más inmanejable será el proyecto y más indeseable será para los usuarios..
¿Qué pasa cuando ignoras esto? Terminas con el Principio de software de Peter:
“Un proyecto demasiado complejo eventualmente se volverá demasiado complejo para ser comprendido incluso por sus propios desarrolladores.”
Proviene del principio más amplio de Peter, que establece que cuando los empleados se promueven en función de su competencia actual y no de la competencia esperada en su próxima posición, todos los empleados finalmente terminan en una posición de incompetencia. Tome ese principio y aplíquelo al software, y verá por qué un software peor puede ser mejor.
3. Ley de Eagleson.
“Cualquier otro código que no haya visto durante seis meses o más podría haber sido escrito por otra persona.”
Este dicho, aparentemente desmotivador, es en realidad algo que abrazar. El hecho es que nadie es perfecto. Podrías pensar que eres un genio programador en este momento, pero hay siempre algo mas que puedas aprender, siempre Más espacio para crecer. Si alguna vez recuerdas el viejo código y te avergüenzas, probablemente significa Has aprendido algo nuevo desde entonces..
Dicho de otra manera: si mira hacia atrás en un proyecto anterior y no puede ver nada que pueda mejorar o lo haría de manera diferente la próxima vez, probablemente se haya estancado como programador..
4. Principio de menos asombro
“Si una característica necesaria tiene un alto factor de asombro, puede ser necesario rediseñar la característica.”
Publicado por primera vez en el IBM Systems Journal En 1984, este principio sigue siendo sorprendentemente relevante hoy en día, tal vez más que nunca..
Básicamente, toca el delicado equilibrio entre innovación y familiaridad: si una pieza de software es Demasiado diferente de otros de su tipo y no se ajusta a las expectativas del usuario, entonces probablemente no lo adoptarán. Es mejor esforzarse por lograr mejoras incrementales que sean lo suficientemente grandes como para ser impresionantes pero lo suficientemente pequeñas como para estar familiarizados.
5. Ley de Entomología Cibernética.
“Siempre hay un error mas.”
Llamado a menudo La ley de Lubarsky de la entomología cibernética, No está claro quién es realmente este Lubarsky. Sin embargo, su principio es cierto para todos los programadores: no importa cuán limpio escribas tu código, no importa qué tan fuerte pruebes tus módulos, no importa con qué frecuencia refactorices tus clases, siempre habrá otro error..
En cierto modo, este es un principio liberador. Mientras que definitivamente deberíamos esforzarse Para el código libre de errores, también es importante recordar que el perfeccionismo es el enemigo del bien. Busque errores, corríjalos cuando aparezcan y luego continúe.
6. La ley de Kernighan.
“La depuración es el doble de difícil que escribir el código en primer lugar. Por lo tanto, si escribe el código lo más inteligentemente posible, por definición, no es lo suficientemente inteligente como para depurarlo.”
Brian Kernighan, el mismo que es coautor de la Biblia del lenguaje de programación C por qué la programación en C vale la pena aprender por qué la programación en C todavía vale la pena aprender C no es una lengua muerta. De hecho, la revista IEEE Spectrum lo clasificó como el principal idioma número 2 en 2017. Aquí hay cinco razones. Leer más, es famoso por esta ley perspicaz. El quid de esto es esto: escribir bueno codificar escribir legible codificar escribir sencillo código, cualquier cosa siempre y cuando no lo sea inteligente código.
Tratar de flexionar sus músculos de programación con la complejidad de la torre de marfil es exactamente lo contrario a lo que significa escribir código limpio y mejor. 10 Consejos para escribir más limpio y mejor Código 10 Consejos para escribir más limpio y mejor Código Escribir código limpio parece más fácil de lo que realmente es, Pero los beneficios lo valen. Aquí es cómo puedes comenzar a escribir un código más limpio hoy. Lee mas . Cuanto más difícil sea comprender su código, más difícil será depurar cuando se rompe inevitablemente.
Y como explica Robert C. Martin, no se trata solo de depurar:
“De hecho, la relación entre el tiempo dedicado a la lectura y la escritura es de más de 10 a 1. Estamos leyendo constantemente el código antiguo como parte del esfuerzo por escribir un nuevo código ... [Por lo tanto, facilitar la lectura hace que sea más fácil escribir.”
7. Depuración de pato de goma
Este no es tanto un principio como una técnica, pero es tan útil y extraño que sería negligente dejarlo de lado..
Primero contado en El programador pragmático, depuración de pato de goma es cuando depura el software roto explicando su código a un objeto inanimado (por ejemplo, un pato de goma) una línea a la vez. Funciona porque el acto de explicación desencadena diferentes partes de su cerebro, y es más probable que detecte inconsistencias y descubra dónde se equivocó..
Por esta razón, un pato de goma puede ser un regalo sorprendentemente ingenioso para los programadores Los mejores regalos geek para programadores: 20 ideas para codificadores y nerds Los mejores regalos geek para programadores: 20 ideas para codificadores y nerds ¿Busca un regalo para un programador? Aquí están los mejores regalos geek, que van desde teclados mecánicos hasta escritorios de pie y más. Lee más, ya sea que lo compres para ti mismo o para un compañero de programación tuyo.
8. La regla de los noventa y noventa
“El primer 90 por ciento del código representa el primer 90 por ciento del tiempo de desarrollo. El 10 por ciento restante del código representa el otro 90 por ciento del tiempo de desarrollo.”
Este pequeño proverbio descarado de Tom Cargill se encuentra en el corazón de por qué la programación puede ser tan frustrante: no importa lo cerca que pienses que estás por terminar, estás mucho más lejos Que incluso tus mejores estimaciones. Cuando crees que has terminado, estás a mitad de camino.
Va de la mano con la Ley de Hofstadter:
“Siempre lleva más tiempo de lo que espera, incluso si tiene en cuenta la Ley de Hofstadter.”
9. La ley de Parkinson
“El trabajo se expande para llenar el tiempo disponible para su finalización..”
Este principio, acuñado por Cyril Northcote Parkinson, es un principio más amplio que se aplica absolutamente a la programación y va de la mano con la Regla de los noventa y noventa que se mencionó anteriormente: sin embargo, cuanto tiempo tenga para terminar un proyecto es exactamente cuánto tiempo tomará. En desarrollo de software, “terminando temprano” es más o menos un mito.
La Ley de Parkinson es la razón por la cual los plazos adecuados son cruciales si desea finalizar y enviar su software. Es por eso que los programadores profesionales modernos suelen recomendar principios de gestión ágil de proyectos Cómo utilizar los principios de gestión ágil de proyectos para organizar su vida Cómo utilizar los principios de gestión ágil de proyectos para organizar su vida Ágil, mejor conocido como método de gestión de proyectos, es un gran marco para administrar su vida personal. Le mostraremos qué principios puede tomar prestados, ¡se incluye la descarga gratuita de la hoja de trabajo! Leer más y las herramientas de gestión de proyectos como Asana Trello vs. Asana: la mejor herramienta de gestión de proyectos gratuita es ... Trello vs. Asana: la mejor herramienta de gestión de proyectos gratuita es ... Elegir entre Trello y Asana es difícil. Aquí comparamos los planes gratuitos y lo ayudamos a decidir qué herramienta de administración de proyectos es mejor para su equipo. Lee mas .
10. La ley de Brook
“Agregar personal a un proyecto de software tardío lo hace más tarde.”
La próxima vez que llegue tarde a un proyecto, lo cual es probable ya que la mayoría de los proyectos de programación necesitan más tiempo que el asignado, recuerde que agregar codificadores no lo resolverá más rápido.
De hecho, probablemente tomará más completar. No solo es necesario que los nuevos codificadores estén al día, sino que probablemente coincidirán con los codificadores existentes. Será necesario documentar más cosas, se necesitará más burocracia para mantener a todos en la misma página y surgirán más fricciones de toda la experiencia de la época de la crisis..
Avanzando como programador
Ahora que conoce estos principios, en realidad está mejor preparado para el mundo real de programación, no solo lo que has encontrado en la escuela, en un curso web o en un campo de entrenamiento. Estos principios provienen de años y años de experiencia y fracasos..
Con esta nueva sabiduría, ahora puede comenzar con una carrera de programación de alta demanda. 10 Trabajos de programación de computadoras que están en demanda ahora. 10 Trabajos de programación de computadoras que están en demanda en este momento. Considere enfocarse en una de las siguientes concentraciones para mejorar sus posibilidades de éxito. Leer más con expectativas más realistas. Para eso, aprenda cómo maximizar sus oportunidades de carrera en programación Cómo mejorar su programación Oportunidades de carrera Cómo mejorar su programación Oportunidades de carrera Si está esperando comenzar, reiniciar o mejorar su carrera de programación, no es fácil. Si estás en la universidad, el momento es ahora. Aquí hay algunos consejos que pueden llevarte lejos. Lee mas . Y si decide que la programación no es para usted, no se preocupe, considere uno de estos trabajos técnicos que no son de codificación. La codificación no es para todos: 7 empleos tecnológicos que puede obtener sin ella la codificación no es para todos: 7 Trabajos tecnológicos que puede obtener sin él No se desanime si desea ser parte del campo de la tecnología: ¡hay muchos trabajos para personas que no saben cómo codificar! Lee mas .
¿Cuál de estos principios te parece más verdadero? ¿Sabes de otros principios de programación extraños que nos perdimos? Háganos saber en los comentarios a continuación.!