Incondicional: Refectar ilavicat si las declaraciones para el código de limpieza

Hay mucho que decir sobre escribir un código limpio: las personas más inteligentes en la Tierra pasaron unos cien años discutiendo este tema y no parece haber terminado. No importa cuán profundo sea el tema, sin embargo, nosotros, como desarrolladores de WordPress, aún podemos hacer muchas mejoras simples en la calidad de nuestro código, que puede beneficiarse del trabajo que hacemos todos los días. Hoy, comparto una práctica que ha sido una parte constantemente útil de mi conjunto de herramientas de código: las condiciones de las condiciones. ¿Cuáles son las condiciones vestidas y por qué son un problema cómo se ven las condiciones vestidas? Abra las funciones.php de un tema con el que he trabajado recientemente para averiguarlo. (Cambié los nombres de variables y funciones en el nombre del tema en “Demotheme”):

¿Ves cómo el código se vuelve cada vez más en el lado izquierdo de la pantalla? Esto se debe en gran medida a las condiciones de ropa: si -s -declaraciones dentro de las declaraciones. (La captura de pantalla anterior también contiene muchos bucles de FuReach que contribuyen al problema, pero están fuera del alcance de este artículo). ¿Por qué las condiciones profundamente vestidas son casi imposibles de decir qué código se ejecutará o cuándo? El gran problema con las condiciones vestidas es que devuelvo el flujo de control del código: en otras palabras, hacen casi imposible decir qué código se ejecutará o cuándo. Rápido, mire la línea 120 de la captura de pantalla anterior y dígame qué circunstancias realmente ejecutarán esa línea de código. Sobre imposible, ¿verdad? Este es el problema.
En mi opinión, el problema es que las condiciones de ropa llevan la condición como un equipaje que no puede olvidar o no puede dejarlo claro. En lugar de eliminar todos los cheques necesarios (las instrucciones individuales de IF), para que podamos hacer nuestro trabajo, llevamos esos cheques con nosotros donde quiera que vayamos, nuestro código vive dentro de ellos. Cómo se vería esto en el mundo real en el mundo real, este enfoque de la lógica condicional sería como un maestro de secundaria que hace la siguiente pregunta: “Si estás vivo, y si eres un ser humano, y si eres tú Un estudiante en la escuela secundaria, y si usted es estudiante en esta escuela secundaria, y si está en el 11 ° grado y si está inscrito en el tiempo de historia de AP y si actualmente participa en el curso de historia de AP y si hablo Directamente con usted, ¡explique la importancia de la compra en Louisiana? “Odio a mi maestro, porque usa una condición de estado condicionado con él donde quiera que vaya. Todos estos controles deberían haberse realizado antes de la pregunta en sí, porque si esos cheques no están satisfechos, ni siquiera agregan la pregunta. En cambio, mi estúpido maestro insiste en incorporar sus preguntas en densos depósitos de lógica condicional, y estoy pensando en renunciar a la escuela. Remedio: Gateway en lugar de burbujas que nuestro profesor de historia crea “burbujas” de lógica condicional. Su verdadero código interesante (sus preguntas de historia) vive profundamente en estas burbujas:
Burbujas

El código que está aislado profundo en varias “burbujas” de estructuras lógicas es muy difícil de leer o evaluar. Me gusta estructurar mis comprobaciones lógicas como puerta de enlace: verifican si algo importante es cierto y, si no, salen antes. En cambio, me gusta estructurar mis comprobaciones lógicas como puerta de enlace: verifican si algo importante es cierto y, si no, salen antes. (Estos también se llaman “cláusulas de guardia”). Cuando todas las puertas se han pasado, el código importante simplemente se muestra, sin importancia: debido a que aún no hemos salido, sabemos que todas nuestras condiciones importantes son ciertas.
Esto es como la vida real. Un buen maestro de historia no debe preguntarle si usted es un hombre y un estudiante en la escuela, porque ya ha aprobado esas condiciones. Las condiciones actúan como puertas: si no fueras humano, no irías a la escuela en absoluto, y si no estuvieras en la historia de AP, no estarías en la sala para escuchar la pregunta. Has superado todas las puertas, para que todos puedan asumir que deberías ser, y el maestro puede ir directamente al negocio.

Ejemplo de código para materializar esto mirando dos ejemplos de código simples: primero en estilo de burbujas, luego en el estilo de la puerta de enlace.
Bad: estilo burbuja $ is_first_ing_working = true; $ is_second_ththing_working = true; $ is_third_thing_working = true; $ is_fourth_thing_working = true; If ($ is_first_ing_working === true) {if ($ is_second_ing_working === true) {if ($ is_thir_ing_working === true) {if (is_fouth_working === true) {return ‘Project de trabajo!’; } Else {return ‘cuarta cosa rota.’; }} Else {return ‘tercera cosa rota.’; }} else {return ‘Segunda cosa rota.’; }} else {return ‘lo primero roto.’; } Bueno: estilo de puerta de enlace $ is_first_ing_working = true; $ is_second_ththing_working = true; $ is_third_thing_working = true; $ is_fourth_thing_working = true; if ($ is_first_ing_working! == true) {return ‘lo primero roto.’; } If ($ is_second_ththing_working! == true) {return ‘Second Thing roto.’; } If ($ is_thir_ing_working! } If ($ is_fourth_ththing_working! == true) {return ‘cuarta cosa rota.’; } Return ‘funcionando correctamente!’; Notas sobre el ejemplo La diferencia entre los dos fragmentos del código anterior se limita a una distinción clave: el método de burbujas pregunta si las condiciones importantes son verdaderas y se ejecutan solo si son verdaderas.

El método de puerta de enlace pregunta si las condiciones importantes son falsas e inmediatamente emiten instrucciones de salida para cada condición si es falsa.
El método de burbujas obliga a la imbricación, porque debe verificar “verdadero, verdadero, verdadero” antes de alcanzar el código que desea ejecutar. Cada cheque “verdadero” es un nivel de vergüenza, una condición de que su código debe vivir dentro. El método de la puerta de enlace no está vestido: como puede ver, el código nunca es mayor que una capa de lógica. Esto se debe al hecho de que una vez que se pasa cierta puerta de entrada, podemos olvidarnos por completo. En otras palabras, dado que no salimos después de nuestra verificación $ IS_FIRST_ING_WORKING, sabemos automáticamente que $ IS_FIRST_ING_WORKING es verdadero para el resto del código. Es como en la vida real: si te quedas a mi lado en la historia, sé que eres un hombre, un estudiante en mi escuela secundaria, etc. – O de lo contrario, nunca habrías estado en mi clase primero. No hay necesidad de verificar. Un ejemplo práctico de WordPress para crear un ejemplo de WordPress en el mundo real utilizando las maravillosas etiquetas condicionadas de WordPress. Este ejemplo realmente existe, en una mala forma/burbuja, en nuestra publicación actual sobre este tema: estilo de burbujas (malo) // enquistan css y js específicos cuando la plantilla de página de página especial está en uso add_action (‘wp_enqueue_scripts’, ‘wpshout_special_page ‘); function wpshout_special_page () {if (is_page (‘special-page’)) {wp_enqueue_script (‘special_js’, get_stylesheet_direction_uri (). ‘/special.js’); wp_enqueue_style (‘special_css’, get_stylesheet_direction_uri (). ‘/special.css’); }} Vea cómo todo este idioma está encapsulado en una verificación IS_PAGE ()? Voluminoso, hirviendo, anidando. Hagamos eso en su lugar:
Estilo de puerta de enlace (bueno) // Enquue CS y JS específicos cuando la plantilla de página especial está en uso add_action (‘wp_enqueue_scripts’, ‘wpshout_special_); function wpshout_special_page () {if (! is_page (‘special-page’)) {return; } wp_enqueue_script (‘special_js’, get_stylesheet_direction_uri (). ‘/special.js’); wp_enqueue_style (‘special_css’, get_stylesheet_direction_uri (). ‘/special.css’); } Mucho más hermoso, ¿verdad? Si no usamos la plantilla de página especial, no queremos hacer nada con esta función. Aquí, esa verificación lógica ahora es un guardia, no un globo, y una vez que hemos pasado la puerta, podemos ir más allá. Del amor condicional espero que te hayas ayudado a pensar en cómo escribes el código en WordPress y, en particular, condicional lógica. El hábito de usar el enfoque de “puerta de enlace” de las condiciones ha hecho que mi propio código de escritura más conciso y más agradable. ¡Gracias por leer! Imagen de crédito: fotoatelero

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *