kiss cultura de plugins

Post on 16-Mar-2018

294 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

BUENAS PRÁCTICASKISS, CULTURA DE PLUGINS

/in/papoveda@povedica

Pablo Poveda Ortega

Me puedes ver en …

Donde hay una voluntad, hay un camino

Senior PHP Developer | WordPress Professional

Incondicional

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

Chiclana, 7 y 8 de Octubre

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

FÁCIL DE APRENDER, DIFÍCIL DE DOMINAR

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

KISSKeep It Simple Stupid

(Simplifica estúpido)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

DRYDont Repeat Yourself

(No te repitas)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

DRTWDont Reinvent The Wheel

(No reinventes la rueda)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

MENOS ES

MÁS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

DIVIDEY

VENCERÁS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

PIENSO, LUEGO PROGRAMO

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

NO TE VENGAS ARRIBA

(No si no tienes un plan)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

APRENDE Y DISFRUTA POR EL CAMINO SIEMPRE

(recuerda que aquí hemos venido a jugar aunque a veces no lo parezca)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

FACILITA EL TRABAJO A LOS DEMÁS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

Copia, inspírate y mejóralo

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

CONTEXTO

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

WP FRIENDLY

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

TEN EN CUENTA QUE WORDPRESS EVOLUCIONA

CONSTANTEMENTE

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

TEN EN CUENTA QUE LOS PLUGINS DEBEN

CONVIVIR ENTRE ELLOSCOMPATIBILIDAD CONFLICTOVS

(Ej: Gravity Forms Debug Add-on)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

(puedes usar clases con métodos que contengan estas funciones)

UTILIZA LAS FUNCIONES DE

WORDPRESS (DRTW)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

UTILIZA BOILERPLATES

http://wppb.io/

wp scaffold plugin

(DRTW)

https://wppb.me/

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

UTILIZA BOILERPLATES

http://wppb.io/

wp scaffold plugin

(DRTW)

https://wppb.me/

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

UTILIZA BOILERPLATES

http://wppb.io/

wp scaffold plugin

(DRTW)

https://wppb.me/

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

FACILITA LA EXTENSIÓN Y/O MODIFICACIÓN DEL

COMPORTAMIENTO

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

EL ARTE DE HOOKEAR

add_action

do_action

remove_action

add_filter

apply_filter

remove_filter

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

DECIDE QUE PERMITES MODIFICAR, QUE

PERMITES EXTENDER

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

INTERNACIONALIZACIÓN

.pot .po .mo

_e()

__()

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

DETERMINA RESPONSABILIDADES USANDO ROLES Y CAPABILITIES

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

DETERMINA RESPONSABILIDADES USANDO ROLES Y CAPABILITIES

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

CÓDIGO LIMPIO(Clean code)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

CÓDIGO LIMPIO(Clean code)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/

USA LA GUÍA DE ESTILO DE CÓDIGO

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

NO TE OLVIDES DE QUE EL CÓDIGO QUE GENERAS ES PARA QUE:

1. LO LEAN Y EVOLUCIONEN PERSONAS

2. LO EJECUTEN MÁQUINASPrioridad

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

ESCRIBE CÓDIGO EN INGLÉS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

( Programación Orientada a Objetos)

POO

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

EL ARTE DEL NAMING

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA PREFIJOS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA NOMBRES SENSATOS PARA TODO

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

TU CÓDIGO SE DEBERÍA PODER LEER COMO UN LIBRO,

CON SENTIDO Y NO PARECER UN IDIOTA

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

UTILIZA PUNTOS ÚNICOS DE MODIFICACIÓN

(por ejemplo utiliza constantes)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA CONSTANTES Y PUNTOS ÚNICOS DE MODIFICACIÓN

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA CONSTANTES Y PUNTOS ÚNICOS DE MODIFICACIÓN

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA CONSTANTES Y PUNTOS ÚNICOS DE MODIFICACIÓN

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA CONSTANTES Y PUNTOS ÚNICOS DE MODIFICACIÓN

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA CONSTANTES Y PUNTOS ÚNICOS DE MODIFICACIÓN

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA CONSTANTES Y PUNTOS ÚNICOS DE MODIFICACIÓN

MÁS DE 100 RESULTADOS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA CONSTANTES Y PUNTOS ÚNICOS DE MODIFICACIÓN

MÁS DE 100 RESULTADOS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA CONSTANTES Y PUNTOS ÚNICOS DE MODIFICACIÓN

MÁS DE 100 RESULTADOS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

SEPARA LA LÓGICA DE TU MODELO DE DATOS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

UTILIZA PATRONES DE DISEÑO SIEMPRE QUE PUEDAS

(SINGLETON, ADAPTER, …)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

SEPARA LA VISTA

(usa templates)(permite sobreescribirlas)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

DRY

DRY

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

DRY

DRY

PLANTILLA

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

DRY

DRY

PLANTILLA

“Adapter”

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

DRY

DRY

PLANTILLA

“Adapter”

SIMULACIÓN DE ADAPTER SIN USAR OO. DEVUELVE LA ESTRUCTURA DE DATOS (ARRAY) YA LISTA PARA USAR. LA

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

NO ABUSAR DE LOS COMENTARIOS EN EL

CÓDIGO

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

NO ABUSAR DE LOS COMENTARIOS EN EL

CÓDIGO

//WHEN I WROTE THIS, ONLY GOD AND I UNDERSTOOD WHAT I WAS DOING //NOW, GOD ONLY KNOWS

STOP(); // HAMMERTIME!

/// CLASS USED TO WORK AROUND RICHARD BEING A FUCKING IDIOT

// DRUNK, FIX LATER

//HAPPY DEBUGGING SUCKERS

RETURN 1; # RETURNS 1

//DONT TOUCH PLEASE

LONG JOHN; // SILVER

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

NO ABUSAR DE LOS COMENTARIOS EN EL

CÓDIGO

//WHEN I WROTE THIS, ONLY GOD AND I UNDERSTOOD WHAT I WAS DOING //NOW, GOD ONLY KNOWS

STOP(); // HAMMERTIME!

/// CLASS USED TO WORK AROUND RICHARD BEING A FUCKING IDIOT

// DRUNK, FIX LATER

//HAPPY DEBUGGING SUCKERS

RETURN 1; # RETURNS 1

//DONT TOUCH PLEASE

LONG JOHN; // SILVER

LOL

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

NO ABUSAR DE LOS COMENTARIOS EN EL

CÓDIGO

//WHEN I WROTE THIS, ONLY GOD AND I UNDERSTOOD WHAT I WAS DOING //NOW, GOD ONLY KNOWS

STOP(); // HAMMERTIME!

/// CLASS USED TO WORK AROUND RICHARD BEING A FUCKING IDIOT

// DRUNK, FIX LATER

//HAPPY DEBUGGING SUCKERS

RETURN 1; # RETURNS 1

//DONT TOUCH PLEASE

LONG JOHN; // SILVER

LOL

EL LISTILLO

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

DELEGA RESPONSABILIDADES SIMPLES (Divide y vencerás)

(Código Limpio)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

CUIDA TODOS LOS CONTEXTOS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

CONOCE EL FLUJO DE EJECUCIÓN DE WP

https://wordpress.stackexchange.com/questions/71406/is-there-a-flowchart-for-wordpress-loading-sequence

http://cdn2.wpbeginner.com/wp-content/uploads/2017/05/wp-behind-the-scenes.png

Detalles técnicos:

Infografía:

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

PUBLIC, ADMIN, AJAX, CRON

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

MULTISITE

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

THEMES Y CHILDTHEMES

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

CÓDIGO COMPATIBLE CON CLI (SHELL)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

CÓDIGO COMPATIBLE CON CLI (SHELL)

?

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

CÓDIGO COMPATIBLE CON CLI (SHELL)

?PHP NOTICE: UNDEFINED INDEX

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USO CORRECTO DE LA BD

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

LA BD ES LA REINA DEL AJEDREZ

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

LAS TABLAS DE WORDPRESS SEGURAMENTE SON

SUFICIENTES PARA CUBRIR LO QUE NECESITAS

(KISS)(dale una vuelta)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

¿TABLAS NUEVAS? PIÉNSATELO DOS VECES

(o más)

CRUD no nativo

La interfaz casi la generas desde cero

Pierdes compatibilidad con WordPress

Mantenimiento de estructuraNadie espera esa tabla

Mantenimiento de queriesPosibilidad de queries no optimizadas

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

WP_QUERY +

WPDB

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

PRE_GET_POST

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA PRE_GET_POST ANTES QUE WP_QUERY

(una query puede ser mejor que dos)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA LOS HOOKS PARA GESTIONAR QUERIES

https://codex.wordpress.org/Custom_Queries

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

VALIDA LO QUE SE GUARDA EN BD DESDE

TU PLUGIN

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

NO ABUSES DE LAS QUERIES

(menos es más)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

OPTIMIZA TUS QUERIES

https://es.wordpress.org/plugins/query-monitor/

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA PREPAREhttps://developer.wordpress.org/reference/classes/wpdb/prepare/

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

SI NECESITAS QUERIES COMPLEJAS CON SUBQUERIES, JOINS Y/O USAR OFFSET,LIMIT CUIDA MUY BIEN EL

PERFORMANCE Y MIDE CON HERRAMIENTAS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

EVITAR LOS CUELLOS DE BOTELLA

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

EVITAR LOS CUELLOS DE BOTELLA

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA TÉCNICAS DE PROCESADO POR BLOQUES (CHUNKS) PARA

PROCESAR GRANDES CANTIDADES DE DATOS

Ejemplo: Exportar/Importar datos desde una fuente externa

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

CACHÉ SI, CACHÉ NOUSA UNA ESTRATEGIA Y NO IMPROVISES

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

UIADMIN

SCREENS FRONT(public)(dashboard)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

WP FRIENDLY

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

EVITA CONFLICTOS

¿Sabéis cual es la regla del !important?

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

HTML, CSS Y JAVASCRIPT SIGUE SIENDO CÓDIGO

(código limpio)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

CARGAS CONDICIONALES(carga lo mínimo en cada petición)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

SI EXISTEN POCOS SETTINGS PIENSA DONDE

PRESENTARLOS(no siempre tener tu propio menú es lo mejor)

(KISS)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA LAS FUNCIONES DE WORDPRESS PARA GESTIONAR

LAS PANTALLAS Y LOS SETTINGS DE BACKOFFICE

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

https://codex.wordpress.org/Settings_API

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

HTTPS COMPATIBLE

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

HTTPS COMPATIBLE

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA FUNCIONES DE WORDPRESS PARA AÑADIR EL JAVASCRIPT Y CSS QUE DARÁN FORMA, COLOR Y COMPORTAMIENTO A LAS

PANTALLAS(se aplica el mismo criterio: WP Friendly)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

wp_enqueue_script

wp_dequeue_script

wp_enqueue_style

wp_dequeue_style

wp_add_inline_script

wp_add_inline_style

wp_register_style

wp_deregister_style

wp_register_script

wp_deregister_script

wp_script_is

wp_localize_script

wp_enqueue_media

admin_enqueue_scripts

admin_print_scripts

admin_print_styles

add_action (‘wp_head','hook_inHeader');

add_action( 'admin_head', 'my_custom_admin_head' );

Funciones WP para gestión de assets

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

wp_enqueue_script

wp_dequeue_script

wp_enqueue_style

wp_dequeue_style

wp_add_inline_script

wp_add_inline_style

wp_register_style

wp_deregister_style

wp_register_script

wp_deregister_script

wp_script_is

wp_localize_script

wp_enqueue_media

admin_enqueue_scripts

admin_print_scripts

admin_print_styles

add_action (‘wp_head','hook_inHeader');

add_action( 'admin_head', 'my_custom_admin_head' );

¿AÚN TIENES EXCUSAS?

Funciones WP para gestión de assets

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

SI PUEDES, USA ALGUNAS TÉCNICAS WPO PARA OPTIMIZAR

LA CARGA DE LAS PÁGINAS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

FACILITA SHORTCODES

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

BUSCADOR

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

NO ABUSES DEL PRE_GET_POSTS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

EVITAR LOS CUELLOS DE BOTELLA

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

EVITAR LOS CUELLOS DE BOTELLA

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

REALIZA BÚSQUEDAS CONDICIONADAS AL CONTEXTO DE BÚSQUEDA

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

POR SUPUESTO, FILTRA Y VALIDA LAS CADENAS DE BÚSQUEDA DE

LOS USUARIOS(ojito con las cadenas que llegan por $_GET[’s'])

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

SEGURIDADXSS SQL

INYECTION SSISESSION

CAPTURING AND HIJACKING

CODE INJECTION

VALIDACIÓN DE CAMPOS

VALIDA TODAS LAS PETICIONES

PREPARE SQL

ESCAPA CADENAS

LIMITA EL USO CON

CAPABILITIES

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

EXTENSIÓN DE TERCEROS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

RESPETOmuchos han trabajado, trabajan y

trabajarán a cambio de nada o muy poco

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA CORRECTAMENTE LOS HOOKS

DISPONIBLES

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

USA CORRECTAMENTE LOS HOOKS

DISPONIBLES

HOOK

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

SÉ FUERTE NO MODIFIQUES EL

CÓDIGO DE UN TERCERO

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

RESPETA LOS LÍMITES DE LA EXTENSIÓN PERMITIDA, NO TE EXCEDAS, NO

MODIFIQUES COMPORTAMIENTO QUE NO ESTÁ PENSADO PARA TAL PROPÓSITO

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

EJEMPLO CLAROLAS EXTENSIONES DE

WOOCOMMERCE

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

API RESThttps://developer.wordpress.org/rest-api/

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

BUGS, DEBUG, FIX, UPDATE

Debug Bar + Add-ons

Query Monitor

P3 Profilerxdebug +

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

GESTOR DE TAREAS, ISSUE TRACKER

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

NO DEJES HUELLA

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

DOCUMENTA TODO LO QUE HACES

(Facilita el trabajo a los demás)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

FEEDBACK(Escucha a tus usuarios)

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

POLITICA DE ACTUALIZACIONES TENIENDO EN CUENTA TODOS

LOS CAMBIOS

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

1.Olfato

2.Opiniones de camaradas

3.Frecuencia de actualizaciones

4.Issues

5.Soporte

6.Compatibilidad

7.Reviews

8.Calidad de código y performance

MI CRITERIO PARA SELECCIONAR UN

PLUGIN

KISS, CULTURA DE PLUGINS - BUENAS PRÁCTICAS

top related