10 consejos para escribir un código más limpio y mejor

  • Peter Holmes
  • 0
  • 2168
  • 31
Anuncio

Sin lugar a dudas, la programación es difícil Cómo aprender a programar sin todo el estrés Cómo aprender a programar sin todo el estrés Tal vez hayas decidido seguir con la programación, ya sea para una carrera o simplemente como un pasatiempo. ¡Excelente! Pero tal vez estés empezando a sentirte abrumado. No muy bien. Aquí hay ayuda para facilitar su viaje. . Una cosa es aprender idiomas y estudiar algoritmos, pero es otra bestia que trata de codificar una aplicación de trabajo compleja que no te hace querer deslumbrar..

En cierto modo, escribir código limpio es muy parecido a dibujar, cocinar o fotografiar 5 Pasatiempos creativos que lo harán una persona más feliz 5 Pasatiempos creativos que lo harán una persona más feliz Una salida creativa adecuada puede hacer maravillas para su salud mental y en general felicidad. Aquí hay algunos pasatiempos creativos que han demostrado ayudar de esta manera. - Parece más fácil de lo que realmente es. ¿Entonces, para qué molestarse? Bueno, porque los beneficios lo valen:

  • Los problemas se vuelven más fáciles de resolver. Una vez que comience a pensar en código limpio, su enfoque para la resolución de problemas cambia. En lugar de soluciones de fuerza bruta, sus algoritmos y diseño de software se vuelven más elegantes e intencionales..
  • Se pierde menos tiempo en mantenimiento. El código limpio es más fácil de leer y comprender, por lo que pasa menos tiempo tratando de descubrir qué hacen realmente ciertos segmentos y más tiempo reparando, revisando, extendiendo, etc..
  • Las ideas se comunican con mayor claridad.. Si está trabajando con otros programadores, el código limpio reduce la probabilidad de malentendidos entre todos ustedes, lo que también significa menos errores a largo plazo.

Así es como USTED puede comenzar a escribir código limpio.

1. Use nombres descriptivos

¿Qué son las variables, clases y funciones? Hay muchas maneras de responder eso, pero cuando realmente lo piensas, esas cosas no son más que la interfaz entre un programador y la lógica subyacente de una aplicación..

Entonces, cuando usa nombres poco claros y no descriptos para variables, clases y funciones, esencialmente está ofuscando la lógica de la aplicación de cualquier programador que lea el código, incluyéndote a ti mismo.

“No soy un gran programador; Solo soy un buen programador con buenos hábitos.”
- Kent Beck

¿Qué significa una variable llamada dxy en realidad significa? Quién sabe. Probablemente tendría que leer todo el fragmento de código para aplicar ingeniería inversa a su significado. Por otro lado, el significado de una variable como distanceBetweenXY es reconocible al instante.

Lo mismo es cierto para las clases y funciones. No te conformes con CalcTan () cuando puedes ir por CalculateTangent () o CalcTangentAngle () en lugar.

2. Dé a cada clase / función un propósito

¿Alguna vez has echado un vistazo dentro de una función que tenía cientos o incluso miles de líneas de largo? Si lo ha hecho, entonces sabe lo difícil que puede ser navegar, comprender y editar. Los comentarios pueden ayudar pero solo en un grado limitado.

“La programación está dividiendo una gran tarea imposible en varias tareas pequeñas posibles.”
- Jazzwant

El código limpio se divide en fragmentos atómicos. Cada función debe apuntar a hacer una sola cosa y cada clase debe apuntar a representar un concepto particular. Esto es una simplificación, por supuesto, pero en caso de duda, más simple es más limpio..

En la práctica, un cálculo complejo como GetCreditScore () puede necesitar dividirse en varias funciones auxiliares como GetCreditReports (), ApplyCreditHistoryAge (), y FilterOutstandingMarks ().

3. Eliminar código innecesario

Este mal hábito es uno con el que todavía lucho de vez en cuando. Por lo general, sucede así: quiero arreglar u optimizar un fragmento de código, así que lo comento y reescribo justo debajo de él, y aunque funciona, mantengo el código antiguo allí por si acaso.

“¿Es posible que el software no sea como cualquier otra cosa, que esté destinado a ser descartado: que el objetivo sea verlo siempre como una burbuja de jabón??”
- Alan J. Perlis

Con el tiempo, acumulo una gran cantidad de bloques de código comentados que ya no son necesarios pero que desordenan mis archivos fuente. Y lo curioso es que en muchos casos, el código circundante ha evolucionado, por lo que el código comentado no funcionaría incluso si se restaura.

La cuestión es que esta práctica de comentar “código de respaldo” quedó obsoleto por el control de fuente. Si no está usando algo como Git o Mercurial, debe comenzar a usar el control de origen de inmediato ¿Qué es Git y por qué debería usar el control de versiones si es un desarrollador? Desarrollador web Como desarrolladores web, muchas veces tendemos a trabajar en sitios de desarrollo local y luego cargamos todo cuando terminamos. Esto está bien cuando solo eres tú y los cambios son pequeños ... Un código más limpio te espera.

4. Legibilidad> Inteligencia

Demasiados programadores se combinan “código limpio” con “código inteligente”, como si compactar diez líneas en una de alguna manera fuera más limpio. Claro, ocupa menos espacio en la pantalla, pero ¿es realmente más fácil de entender? A veces, tal vez. ¿Pero la mayor parte del tiempo? No.

“Todo el mundo sabe que la depuración es el doble de difícil que escribir un programa en primer lugar. Entonces, si eres tan inteligente como puedes ser cuando lo escribes, ¿cómo lo vas a depurar??”
- Brian W. Kernighan

Creo que los programadores aman el código inteligente porque se siente como un acertijo o acertijo resuelto. Encontraron una forma especial y única de implementar algo: un “atajo” si quieres, y casi actúa como una validación de las habilidades del programador.

Pero para escribir un código limpio, debes dejar tu ego en la puerta.

Siempre optimice el código para la próxima persona que lo va a leer, porque con toda probabilidad la próxima persona realmente será USTED y no hay nada más vergonzoso que no poder leer o comprender su propia inteligencia..

5. Mantenga un estilo de codificación consistente

No tengo nada en contra de buenos tutoriales de programación ¿Qué hace que un buen tutorial de programación? ¿Qué hace un buen tutorial de programación? No todos los tutoriales de programación son iguales. Algunos te benefician y otros terminan perdiendo tu tiempo. Esto es lo que debe buscar en un tutorial de programación de calidad. , pero uno de los inconvenientes es que los novatos terminan adquiriendo una amplia variedad de hábitos conflictivos, especialmente en lo que respecta al estilo de codificación.

No estoy aquí para declarar que un estilo es mejor que otro. Si quieres aparatos ortopédicos en sus propias líneas, hazlo. Si desea preceder las llamadas a métodos con espacios, está bien. Si prefieres las pestañas a los espacios, no dejes que te convenza de lo contrario.

Pero hagas lo que hagas, mantente constante!

Hermoso es mejor que feo.
Explícito es mejor que implícito.
Simple es mejor que complejo.
Complejo es mejor que complicado.
Flat es mejor que anidado.
Escaso es mejor que denso.
La legibilidad cuenta.
- Tim Peters, El zen de pitón

Si vas a usar camelCaseNaming para variables, no adulterarlo con subrayado_naming. Si utiliza GetThisObject () en un lugar, no vayas con FetchThatObject () en algún otro lugar. Y si mezclas pestañas y espacios, mereces que te quiten el teclado.

Decida qué va a hacer desde el principio y sígalo de principio a fin. Algunos lenguajes, como Python y C #, tienen guías de estilo en todo el lenguaje que es posible que desee seguir.

6. Elija la arquitectura correcta

Existen muchos paradigmas y arquitecturas diferentes que puede usar para crear sus proyectos. Tenga en cuenta cómo se trata este consejo sobre la selección de derecho uno para sus necesidades, no se trata de seleccionar el mejor uno por ahí. No hay “mejor” aquí.

“Sin requisitos y diseño, la programación es el arte de agregar errores a un archivo de texto vacío.”
- Louis Srygley

Por ejemplo, el patrón Modelo-Vista-Controlador (MVC) es muy popular en este momento en el desarrollo web porque ayuda a mantener su código organizado y diseñado de una manera que minimiza los esfuerzos de mantenimiento.

Del mismo modo, el patrón Entity-Component-System (ECS) es muy popular en este momento en el desarrollo de juegos porque ayuda a modularizar los datos y la lógica del juego de una manera que facilita el mantenimiento, todo mientras produce código que es más fácil de leer.

7. Domina los modismos del lenguaje

Una de las dificultades para dominar un nuevo lenguaje de programación 7 Trucos útiles para dominar un nuevo lenguaje de programación 7 Trucos útiles para dominar un nuevo lenguaje de programación Está bien sentirse abrumado cuando aprende a codificar. Probablemente olvidará las cosas tan rápido como las aprenda. Estos consejos pueden ayudarlo a retener mejor toda esa información nueva. es aprender los matices que lo separan de todos los demás idiomas. Estos matices pueden ser la diferencia entre un código feo y complicado y un código hermoso y fácil de mantener..

Considere Python, Java y JavaScript. Todos son extremadamente diferentes entre sí, en un grado que requiere un diferente forma de pensar según el idioma que elija usar.

“No vale la pena conocer un lenguaje que no afecta la forma en que piensas sobre la programación..”
- Alan J. Perlis

Mientras que Python tiene que ver con el código compacto y el tipeo de patos, Java está más del lado de la verbosidad y la explicidad. Cada idioma tiene expresiones idiomáticas (como las listas de comprensión en Python) que fomentan una cierta forma de codificación. Harías bien en aprenderlos.

También hay “antipatrones” de qué preocuparse, que son esencialmente patrones de diseño subóptimos que resultan en un código ineficiente, poco confiable o de otro modo malo. Estudie y desaprenda todos los antipatrones comunes relacionados con su idioma de elección.

8. Estudie el Código de Maestros

Si desea escribir código limpio, lo mejor que puede hacer es ver cómo se ve el código limpio e intentar entender por qué es así, y no hay mejor manera de hacerlo que estudiando los archivos fuente de la industria. maestros.

Obviamente, no puede simplemente ingresar a la sede de Microsoft y echar un vistazo a sus proyectos, sino que siempre puede explorar proyectos de código abierto conocidos Cómo ver y editar el código fuente de una aplicación de código abierto Cómo ver y editar el código fuente De una aplicación de código abierto Si bien el código abierto puede ser una buena opción, también deberá invertir en la comunidad adecuada. GitHub es uno de los mejores lugares para hacer esto, no solo por la gran cantidad ... . ¿No sabes por dónde empezar? Prueba los proyectos exhibidos en Github.

“Cualquier tonto puede escribir código que una computadora pueda entender. Los buenos programadores escriben código que los humanos pueden entender.”
- Martin Fowler, Refactorización: mejora del diseño del código existente

Después de todo, esa es una de las razones por las que existen proyectos de código abierto ¿Por qué las personas contribuyen a los proyectos de código abierto? ¿Por qué las personas contribuyen a proyectos de código abierto? El desarrollo de código abierto es el futuro del software. Es excelente para los usuarios porque el software de código abierto generalmente está disponible de forma gratuita y, a menudo, es más seguro de usar. Pero, ¿qué obliga a los desarrolladores a contribuir con código de forma gratuita? : para que otros puedan aprender de ellos. Y si decide contribuir a dicho proyecto, puede acelerar el proceso de aprendizaje. 5 Ideas de proyecto para ayudarlo a aprender a programar más rápido. 5 Ideas de proyecto para ayudarlo a aprender a programar más rápido. Hay algunas maneras de facilitar la curva de aprendizaje para la programación. Ensúciate las manos y aprende más rápido con proyectos paralelos que puedes comenzar en cualquier momento. Juega un poco con estos cinco. .

Personalmente, la primera vez que vi un código realmente limpio fue cuando me topé con el proyecto de código abierto de Python de cierto aficionado. El código era tan abrumadoramente elegante que casi dejé de programar, pero terminó enseñándome mucho.

9. Escribe buenos comentarios

“Escribe buenos comentarios” es el consejo más antiguo del mundo de la programación. De hecho, tan pronto como los novatos se introducen en los comentarios, se los alienta a comentar con la mayor frecuencia posible.

Pero casi parece que nos hemos desviado demasiado en la dirección opuesta. Los novatos, en particular, tienden a comentar en exceso, describiendo cosas que no necesitan ser descritas y perdiendo el punto de lo que un “buen comentario” en realidad es.

“Siempre codifique como si el tipo que termina manteniendo su código sea un psicópata violento que sabe dónde vive.”
- John Woods

Aquí hay una buena regla general: existen comentarios para explicar POR QUÉ existe un fragmento de código en lugar de QUÉ hace realmente el código. Si el código está escrito de manera suficientemente clara, debería explicarse por sí mismo lo que hace: el comentario debe arrojar luz sobre la intención detrás de por qué fue escrito.

Los comentarios pueden ser buenos para las advertencias (es decir,. “eliminar esto romperá A, B y C”) pero en su mayor parte debería descubrir cosas que no pueden extraerse inmediatamente del código (es decir,. “usa este parámetro porque X, Y y Z”).

10. Refactor, Refactor, Refactor

Así como la edición es parte del proceso de escritura, la refactorización es parte del proceso de codificación. Una aversión a la refactorización es la forma más rápida de terminar con un código que no se puede mantener, por lo que, en muchos sentidos, este es el consejo más importante a tener en cuenta.

En resumen, refactorizar es solo un término elegante para limpiar el código sin afectar su comportamiento real.

“Cada vez que tengo que pensar para entender lo que está haciendo el código, me pregunto si puedo refactorizar el código para que esa comprensión sea más evidente de inmediato..”
- Martin Fowler, Refactorización: mejora del diseño del código existente

Un poco de sabiduría que me ha quedado grabado es el dicho, “No comentes el código incorrecto. Reescribirlo.” Como explica Fowler en la cita anterior, si el código se siente lo suficientemente confuso como para tener que comentarlo, tal vez necesite refactorizarlo.

Además, a medida que edita fragmentos de código aquí y allá a lo largo de su proyecto, siempre deje el código en un mejor estado que cuando lo encontró por primera vez. Puede parecer una molestia en el momento, pero valdrá la pena a largo plazo (e incluso puede evitar el agotamiento mental Burnout de programación: cómo recuperar la motivación perdida Burnout de programación: cómo recuperar la motivación perdida Escribir todas esas líneas de el código puede ser agotador física y emocionalmente. Todo lo que necesita para volver a subir es la conciencia de que se puede recuperar la motivación)..

Siempre hay algo nuevo que aprender

Un programador que está aprendiendo a escribir código limpio es similar a un novelista que está aprendiendo a escribir prosa limpia: no hay una manera correcta de hacerlo per se, pero hay muchas maneras incorrectas de hacerlo, y tomará años para dominar.

Algunas personas no tienen lo que se necesita y, finalmente, terminan abandonando la programación para siempre. 6 Señales de que no debes ser programador 6 Señales de que no debes ser programador No todos están dispuestos a ser programadores. Si no está completamente seguro de que está destinado a ser un programador, aquí hay algunas señales que pueden indicarle la dirección correcta. - y eso está bien porque hay muchos otros trabajos técnicos que no involucran la codificación. La codificación no es para todos: 9 trabajos tecnológicos que puede obtener sin ella La codificación no es para todos: 9 trabajos tecnológicos que puede obtener sin ella Don ' No se desanime si quiere ser parte del campo tecnológico. Hay muchos trabajos para personas sin habilidades de codificación! .

Pero para todos los demás, el código limpio es algo por lo que vale la pena esforzarse, incluso si lleva el resto de su vida llegar allí.

¿Qué tan importante es el código limpio para ti? ¿Qué reglas sigues para mantener tu código limpio y organizado? ¿Tienes alguna otra parte de sabiduría para compartir? Háganos saber en los comentarios a continuación!




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.