Después de desarrollarse por un tiempo, y especialmente si presta atención a la sabiduría que ofrece otros, obtiene algunos hábitos. Estos hábitos no son cosas en las que piensas conscientemente, pero pueden marcar una gran diferencia. Recientemente descubrí que tal hábito que tengo es que siempre quiero hacer el más mínimo cambio en el código. Esto a menudo conduce a soluciones más simples. Hoy, intentaré explorar esa intuición de una manera que espero convencerte tiene razón. Este no es un artículo sobre PHP o JavaScript. O sobre cualquier otro lenguaje de programación. En cambio, esta es una regla general que puede aplicar a cualquier programa que haga. Es algo pequeño, pero las cosas pequeñas son a menudo las grandes en su raíz. Este es uno de estos: hacer los cambios más pequeños posibles hace un código mucho mejor con el tiempo.
Un par de par

Recientemente me asocié con Fred, tratando de resolver un problema con mi complemento de imagen requerido. En mi opinión, el error es causado por un error de JavaScript en Chrome. El resumen ejecutivo del fragmento de COD relevante es que el complemento ejecuta JavaScript para verificar el HTML de la pantalla posterior a la edición para ver si se adjunta una imagen presentada y si esa imagen presentada es lo suficientemente grande. Funcionó en su mayor parte, pero de vez en cuando en Chrome (tanto Mac como Windows), el mensaje parecía intermitente por un segundo cuando no hizo nada en la imagen presentada. (Este comportamiento no ocurre en Firefox. Porque Firefox es un navegador superior desde todos los puntos de vista.; P)
Lo que sucedió, descubrí, es que de vez en cuando Chrome se confundió al verificar el tamaño de la imagen para nosotros. Informaría que una imagen tenía 0px y 0px, cuando no lo era, por ninguna razón notable. Esto sucedió de manera muy intermitente y, después de unos 30 minutos, cuando intentamos encontrar la causa básica, decidimos resolverla. La solución que encontramos no tenía que confiar en cada verificación del tamaño de una imagen (porque aquí no dio a Chrome) y, en cambio, tomar un promedio constante de las comprobaciones de tamaño recientes. Si el tamaño de la imagen se ha equivocado tres veces (usando nuestro conocimiento experto del béisbol estadounidense), lo llamaríamos “fuera”. Pero si solo dos de los últimos tres informes serían que es demasiado pequeño, no mostraríamos la advertencia. La funcionalidad de JavaScript en el complemento se compone de funciones relativamente pequeñas. La duración básica de ejecución es que se ejecuta cada 800 milisegundos de una función que verifica si las condiciones de imagen existentes se cumplen y muestra un error si no lo son. ¿Pero dónde poner el remedio? Lo que debería haber dicho, pero no lo hice “pero si un médico le diera medicamentos en lugar de reparar su hueso, estaría molesto y confundido, ¿verdad?” Requerido para cambiar cuando el mensaje apareció en función de las nuevas reglas de tres golpes, Fred afirmó escribir estas cosas en este bucle del evento principal.
Dije que no. Fui un nivel más profundo. Verificar el estado de la imagen presentada es en sí mismo un proceso en dos ramas. Si no se presenta una imagen, mostrará un error de “sin imagen”. Si hay una imagen, verifica su tamaño y muestra un error si es demasiado pequeño. Si pasan las dos verificaciones, proporcione una señal de paso. Aquí deberíamos poner el código “tres golpes”, dijo Fred. “No creo que dije. Este aún no es el lugar “. (En esta historia conozco como sabio. Esto, al menos parcialmente, porque escribí y reescribí todo este código, Fred nunca lo ha visto más o menos. También es porque cuento esta historia ahora).
“Quiero poner el código con tres trazos en la función que verifica el tamaño de la imagen”, dije. “¿Por qué?” Fred insistió. “Poner la corrección lo más cerca posible”. “Pero si te rompes el pie, no ponga la mano en la pierna para repararla. Ir al hospital. ” Lo que debería haber dicho, pero no lo hice, es “pero si un médico le diera medicamentos en lugar de reparar su hueso, estaría bastante molesto y confundido, ¿verdad?” Lo que dije, en cambio, fue algo que nos hizo intentar como quería, creo que pedir que solo intente a mi manera. Lo intenté a mi manera. Ambos pensamos que era mejor.

Por qué puse el código donde hice casi todos los cambios en el código que hice se aislaron en el lado del código que se trataba de verificar el hecho de que la imagen tiene el tamaño correcto. En mi opinión, estaba claro que deberíamos ponerlo allí. Estas son las razones por las que pensé que sí:
El error que vi es que “la imagen es demasiado pequeña” cuando no lo fue. Por lo tanto, debemos cambiar el código que verifica el tamaño de la imagen. Tenemos que crear una variable global sobre el estado, para la facilidad de administrar la persistencia de los datos en un archivo JavaScript relativamente pequeño. Creo que esto engaña a Fred, pero el hecho de que los datos fueran globales no significaban nada más que el tamaño de la dimensión necesaria para saber sobre ellos.
Toda esta situación me destaca que desea aislar su código de otros efectos tanto como pueda. Esta es la lección que aprendí de la programación funcional y también es algo que lo ayudará a los consejos de programación orientados a objetos más consagrados.
¿Has utilizado una variable global? Debido a que este es el código que mantengo solo y porque nos extendemos a nivel mundial al envoltorio local de complementos, no me preocupan usar un global “malo”. Una de las principales razones por las cuales esta historia cuenta es que el problema con el código ha afectado a todo el subsistema en el que jugamos. Resolvimos el problema creando una variable global en nuestro archivo JavaScript. Pero quería que sean tan pocos actores como sea posible para llegar a ese estado global. Si escucha mucho sobre el estado global, probablemente escuchará que generalmente es malo. Y eso no está mal. Pero debes entender la razón por la que es malo. El problema no es que exista, sino que cuando hay casi todos, intentará usarlo.
Debido a que este es el código que mantengo solo y porque nos extendemos a nivel mundial al envoltorio local de complementos, no me preocupan usar un global “malo”.Pensar en el código es más importante que el código que decidí, como elección de un escritor, no incluir el código en esta pieza.Entiendo que probablemente se molestó un poco de ustedes.Vienes aquí por el código, no historias.Pero los programadores son personas.Personas que entienden a través de historias.Espero que aprendas algo en esta historia (aparte de mi sabiduría inherente).Es útil ubicar los cambios y, a veces, una variable global está suficientemente ubicada.Estas son mis dos “moral” de la historia. ¡Espero que esto te ayude!
Al codificar, realice el menor cambio posible
Tags Al codificar realice el menor cambio posible
homefinance blog