10 Consejos para la escritura más limpio y mejor código
Sin lugar a dudas, la programación es dura. Es una cosa para aprender idiomas y estudiar algoritmos, pero es toda una otra bestia tratando de codificar una aplicación de trabajo complejo que no dan ganas de arañar los ojos.Cómo aprender programación sin todo el estrésCómo aprender programación sin todo el estrésTal vez usted ha decidido llevar a cabo la programación, ya sea para una carrera o simplemente como un hobby. ¡Estupendo! Pero tal vez usted está comenzando a sentirse abrumado. No muy bien. Aquí está la ayuda para facilitar su viaje.Lee mas
En cierto modo, la escritura de código limpio es muy parecido dibujo, cocinar, o la fotografía - parece más fácil de lo que realmente es. ¿Entonces, para qué molestarse? Bueno, ya que los beneficios valen la pena:
- Los problemas se vuelven más fáciles de resolver. Una vez que comience a pensar en un código limpio, su acercamiento a los cambios de resolución de problemas. En lugar de soluciones obligando bruta, sus algoritmos y diseño de software se hacen más elegante e intencional.
- Se pierde menos tiempo en el mantenimiento. código limpio es más fácil de leer y entender, para que pase menos tiempo tratando de averiguar lo que realmente hacen ciertos segmentos y más tiempo en la fijación, revisión, ampliación, etc.
- Las ideas se comunican con mayor claridad. Si está trabajando con otros programadores, código limpio reduce la probabilidad de malentendidos entre todos ustedes, lo que también significa un menor número de errores en el largo plazo.
He aquí cómo usted puede comenzar a escribir código limpio.
1. Nombres uso descriptivo
¿Cuáles son variables, clases y funciones? Hay muchas maneras de responder a eso, pero cuando realmente piensa de él, esas cosas no son más que la interfaz entre el programador y la lógica subyacente de una aplicación.
Así que cuando se utiliza nombres poco claros y no descripta para las variables, clases y funciones, básicamente estás ofuscar la lógica de la aplicación de cualquier programador que lee el código, incluido usted mismo.
“No soy un gran programador- Sólo soy un buen programador con grandes hábitos.”
- Kent Beck
¿Cómo es una variable llamada dxy
significa realmente? Quién sabe. Probablemente usted tiene que leer todo el trozo 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 se conforme con CalcTan ()
cuando se puede ir a dar CalculateTangent ()
o CalcTangentAngle ()
en lugar.
2. Dé a cada clase / Función Uno de los propósitos
¿Alguna vez has echado un vistazo dentro de una función que estaba a cientos o incluso miles de líneas largas? Si es así, entonces usted sabe cuánto de un dolor que puede ser para navegar, entender y edición. Los comentarios pueden ayudar, pero sólo en un grado limitado.
“La programación está rompiendo una gran tarea imposible en varias tareas pequeñas posibles.”
- JazzwantVídeo: Claves para escribir mejor
código limpio se divide en trozos atómicas. Cada función debe tener como objetivo hacer una sola cosa y cada clase debe tener como objetivo para representar un concepto en particular. Esta 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 que tenga que ser dividida en varias funciones auxiliares como GetCreditReports ()
, ApplyCreditHistoryAge ()
, y FilterOutstandingMarks ()
.
3. Eliminar el código innecesario
Este mal hábito es una que todavía lucho con de vez en cuando. Suele suceder así: Quiero corregir u optimizar un trozo de código por lo que comento hacia fuera y hacer una reescritura del justo debajo de él - y aunque funciona, me quedo con el viejo código no por si acaso.
“¿Es posible que el software no es como cualquier otra cosa, que está destinado a ser desechado:? Que el objetivo es ver siempre como una pompa de jabón”
- Alan J. Perlis
Con el tiempo, acumulo una gran cantidad de bloques comentadas de salida de código que ya no son necesarios todavía el desorden de mis archivos de origen. Y lo curioso es que, en muchos casos, el código que rodea ha evolucionado por lo que el código comentado de salida no funcionaría incluso si restaurada.
La cuestión es que esta práctica de comentando “código de seguridad” se hizo obsoleto por el control de código fuente. Si no está utilizando algo así como Git o Mercurial, es necesario comenzar a utilizar de inmediato control de código fuente. código más limpio le espera.¿Qué es Git & ¿Por qué debería utilizar Control de versiones Si eres un desarrollador¿Qué es Git & ¿Por qué debería utilizar Control de versiones Si eres un desarrolladorA medida que los desarrolladores web, muchas de las veces se tiende a trabajar en los sitios de desarrollo de país, entonces sólo subir todo cuando hayamos terminado. Esto está bien cuando es sólo usted y los cambios son pequeños, ...Lee mas
4. La legibilidad gt; Astucia
Demasiados programadores confunden “código limpio” con “código inteligente”, como si la compactación de diez líneas en una sola es de alguna manera más limpia. Claro, se necesita 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 dos veces más duro que escribir un programa en el primer lugar. Así que si eres tan inteligente como puede ser cuando usted lo escribe, ¿cómo va a depurarlo?”
- Brian W. Kernighan
Creo que los programadores de código inteligente aman porque se siente como un puzzle o acertijo resuelto. Encontraron una manera especial y única para poner en práctica algo - un “atajo” si se quiere - y casi actúa como una validación de las habilidades del programador.
Pero para escribir código limpio, que necesita dejar su ego en la puerta.
Siempre optimizar el código para la siguiente persona que va a leer, porque lo más probable que la próxima persona es en realidad va a ser usted y no hay nada más vergonzoso que ser incapaz de leer o comprender su propia inteligencia.
5. Mantener un estilo de codificación consistente
yo tengo nada en contra de buenos tutoriales de programación, pero una de las desventajas es que los nuevos terminan recogiendo una amplia variedad de hábitos en conflicto, especialmente lo que se refiere al estilo de codificación.Lo que hace un buen tutorial de programación?Lo que hace un buen tutorial de programación?No todos los tutoriales de programación son iguales. Algunos se benefician y otros terminan perdiendo el tiempo. Esto es lo que debe buscar en un tutorial de programación de calidad.Lee mas
No estoy aquí para declarar que un estilo es mejor que otro. Si quieres aparatos en sus propias líneas, ir a por ello. Si desea que preceda a las llamadas a métodos con espacios, bien. Si prefiere lengüetas a los espacios, no dejar que te convenza de lo contrario.
Pero hagas lo que hagas, mantenerse coherente!
Bello es mejor que feo.
Explícito es mejor que implícito.
Simple es mejor que complejo.
Complejo es mejor que complicado.
Piso es mejor que anidado.
Escaso es mejor que denso.
La legibilidad cuenta.
- Tim Peters, El Zen de Python
Si se va a utilizar camelCaseNaming
para las variables, no adulterar con underscore_naming
. Si utiliza GetThisObject ()
en un solo lugar, no van con FetchThatObject ()
en algún otro lugar. Y si se mezclan las fichas y espacios, que se merece tener su teclado quitado.
Decidir lo que vamos a hacer desde el principio y seguir con ella hasta la médula. Algunos idiomas, como Python y C #, tienen guías de estilo de todo el lenguaje que es posible que desee seguir.
6. Seleccione la arquitectura adecuada
Hay muchos paradigmas y arquitecturas que se pueden utilizar para crear sus proyectos diferentes. Nótese cómo este consejo es sobre la selección del derecho uno para sus necesidades, y no sobre la selección de la mejor uno por ahí. No hay un “mejor” aquí.
“Sin requisitos y el diseño, la programación es el arte de la adición de los insectos 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, ya que ayuda a mantener su código organizado y diseñado de una manera que minimice los esfuerzos de mantenimiento.
Del mismo modo, la Entidad-Componente-System (ECS) patrón es muy popular en este momento en el desarrollo del juego, ya que ayuda modularizar los datos del juego y la lógica de una manera que hace que el mantenimiento más fácil, toda vez que produce código que es más fácil de leer.
7. Maestro modismos del idioma
Una de las dificultades en el dominio de un nuevo lenguaje de programación es aprender los matices que lo separan de los otros idiomas. Estos matices pueden ser la diferencia entre el código feo, enrevesada y el código hermoso, fácil de mantener.7 trucos útiles para dominar una nueva Lenguaje de Programación7 trucos útiles para dominar una nueva Lenguaje de ProgramaciónEstá bien ser abrumado cuando se está aprendiendo a código. Es probable que olvida las cosas lo más rápido que los aprende. Estos consejos pueden ayudarle a mantener una mejor toda esa nueva información.Lee mas
Considere Python, Java y javascript. Todos ellos son muy diferentes entre sí, en un grado que requiere una diferente forma de pensar en función del idioma que elija para su uso.
“Un lenguaje que no afecta a la forma de pensar acerca de la programación no vale la pena conocer.”
- Alan J. Perlis
Mientras que Python es todo acerca de código compacto y tipificación de pato, Java es más hacia el lado de la verbosidad y explícito. Cada idioma tiene expresiones idiomáticas (como listas por comprensión en Python) que fomentan un cierto modo de codificación. Usted haría bien en aprender de ellos.
También hay “anti-patrones” de las que preocuparse, que son esencialmente sub-óptimos patrones de diseño que resultan en código ineficiente, poco fiable, o de otra manera mal. Estudio y desaprender todos los anti-patrones comunes relacionados con el idioma de su elección.
8. Estudiar el Código de Maestros
Si desea escribir código limpio, lo mejor que puede hacer es ver qué código limpio Aspecto del producto y tratar de entender por qué es como es - y no hay mejor manera de hacerlo que mediante el estudio de los archivos de origen de la industria Masters.
Obviamente, no se puede simplemente hacer estallar en la sede de Microsoft y echar un vistazo a sus proyectos, pero siempre se puede Ver proyectos de código abierto bien conocidos. No sé por dónde empezar? Tratar los proyectos incluidos en GitHub.Cómo ver & Editar el código fuente de una aplicación de código abiertoCómo ver & Editar el código fuente de una aplicación de código abiertoMientras que va de código abierto podría ser una buena opción, también tendrá que invertir en la comunidad derecha. GitHub es uno de los mejores lugares para hacer esto, no sólo debido a la cantidad pura ...Lee mas
“Cualquier tonto puede escribir código que un ordenador puede entender. Los buenos programadores escriben código que los humanos pueden entender “.
- Martin Fowler, Refactoring: mejorar el diseño de código existente
Después de todo, esa es una de las razones por qué existen proyectos de código abierto: Para que otros puedan aprender de ellos. Y si decide contribuir a un proyecto de este tipo, puede acelerar el proceso de aprendizaje.
En lo personal, la primera vez que vi código verdaderamente limpia es cuando me encontré con Python proyecto de código abierto de una cierta aficionado. El código fue tan abrumadora que casi elegante que salir de la programación, pero terminó enseñarme mucho.
9. escribir buenos comentarios
“Escribir buenos comentarios” es la pieza más antigua de asesoramiento en el mundo de la programación. De hecho, tan pronto como los novatos son introducidos a los comentarios, que están más o menos animados a comentar tan a menudo como sea posible.
Pero casi se siente como que hemos ido demasiado lejos en la dirección opuesta. Novatos, en particular, tienden a sobre-el comentario - describir las cosas que no necesitan ser descritos y no viene al caso de lo que un “buen comentario” en realidad es.
“Siempre código como si el tipo que termina el mantenimiento de su código será un psicópata violento que sabe dónde vive.”
- John Woods
He aquí una buena regla general: existen comentarios para explicar por qué existe un pedazo de código en lugar de lo que realmente hace el código. Si el código está escrito limpiamente suficiente, se debe explicarse por sí mismo en cuanto a lo que hace - el comentario debe arrojar luz sobre la intención detrás de por qué fue escrito.
Los comentarios pueden ser bueno para advertencias (es decir, “retirar esta se romperá A, B, y C”) pero para la mayor parte debe descubrir cosas que no se puede extraer inmediatamente del código (es decir, “utilizar este parámetro porque X, Y, y Z”).
10. Refactor, Refactor, Refactor
Al igual que 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 código imposible de mantener, por lo que en muchos sentidos, este es en realidad el consejo más importante a tener en cuenta.
En resumen, la refactorización es sólo un término de lujo para limpiar el código sin afectar a su comportamiento real.
“Cada vez que tengo que pensar para entender lo que el código está haciendo, me pregunto si puedo refactorizar el código para hacer que el entendimiento más evidentes de inmediato.”
- Martin Fowler, Refactoring: mejorar el diseño de código existente
Un poco de sabiduría que ha quedado conmigo es el dicho: “No haga comentarios mal código. Volver a escribir.”Como Fowler explica en la cita anterior, si el código cada vez se siente lo suficientemente confuso que es necesario comentar que, tal vez usted realmente necesita para refactorizar.
Por otra parte, a medida que edita bits de código aquí y allá a lo largo de su proyecto, deje siempre el código en un mejor estado que cuando se encontró por primera vez se. Puede parecer como una molestia en el momento, pero que dará sus frutos en el largo plazo (e incluso puede evitar el agotamiento mental,).Programación Burnout: Cómo recuperar su motivación perdidaProgramación Burnout: Cómo recuperar su motivación perdidaEscribir todas esas líneas de código puede ser física y emocionalmente agotador. Todo lo que necesita para obtener una copia de seguridad es la conciencia de que la motivación puede ser recuperado.Lee mas
Siempre hay algo nuevo que aprender
Un programador que está aprendiendo cómo escribir código limpio es similar a un novelista aprender a escribir prosa limpia: no hay una manera correcta de hacerlo por sí mismo, pero hay un montón de maneras incorrectas de hacerlo, y que va a tomar años para dominar.
Algunas personas no tienen lo que se necesita y finalmente terminan dejar de programación para la buena - y eso está bien porque hay un montón de otros trabajos irritable que no implican la codificación.6 Señales de que usted no pretende ser un programador6 Señales de que usted no pretende ser un programadorNo todo el mundo está hecho para ser un programador. Si usted no está completamente seguro de que está destinado a ser un programador, aquí hay algunos signos que pueden apuntar en la dirección correcta.Lee mas
Pero para todos los demás, código limpio es algo que es absolutamente digno de esfuerzo hacia, incluso si se lleva el resto de su vida para llegar allí.
¿Qué tan importante es un código limpio para usted? ¿Qué reglas se siguen para mantener su código limpio y organizado? Tienes algo de otros fragmentos de sabiduría para compartir? Háganos saber en los comentarios!