SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
El efecto…
este código es una basura!
@mmoreram
Premisas del juego
Nos ponemos en la piel de la comunidad!
Vamos a juzgar el trabajo de los demás de
forma completamente objetiva!
No son nuestros amigos, no les debemos
respeto.!
Vamos a jugar a ser Dios.
Ejemplo
A veces la belleza…
( la auténtica belleza… )
Está en el interior
Gato Sphynx. Considerado el gato mas cariñoso.
Juzgamos
A simple vista !
Y somos tan ignorantes…
Que juzgamos sin previo análisis.
Mamá!
Mira donde he pasado el fin de semana!
Vaya basura!
Segura?
Una basura? Segura?
El mundo es cruel!
Y como tal, la comunidad open-source
Aparenta lo que eres!!
Open-source is everywhere
Premisas del juego
Nuestro trabajo será juzgado por “la
comunidad”. Siempre!!
“La comunidad” puede ser el desarrollado
que 2 años después, siga trabajando el código
que antaño empezaste tu.!
“Y quien mierdas hizo esta basura?” - Dijo
Flipencio
Esto es una basura!
public function aaaaaa($a, $b)!
{!
$a += $b+($a-b); //die;!
$b -= $a; // ui si, no se que…!
!
//echo $a;!
!
if ($a) $b = 1; else!
$b =0; return; }!
Recuerdo!
Somos la comunidad.%
Somos crueles.%
Somo miserables.%
No tenemos piedad.%
Queremos destrucción.
Naming
Nombres con sentido semántico. No valen:%
$a, $var, $cosa%
$variable -> seriously?%
meGustanLosPercebes() -> Método para dominar el mundo%
public function maximo($valor1, $valor2)!
public function divide($numerador, $denominador)!
public function dominar(AbstractWorld $mundo)
Alineaciones
Respeta los estándares, o las IDEs de los demás,%
querrán, literalmente, fusilarte.
public function maximo($valor1, $valor2)!
{!
! $resultado = ($valor1 >= $valor2) !
! ! ? $valor1!
! ! : $valor2;!
!
! return $resultado;!
}
Documenta
No le quites las ganas de vivir de los%
developers. Seguro que te lo agradecerán…%
Y sus familias también :)
/**!
* Método para calcular el máximo entre dos valores.!
*!
* @param float $valor1 Primer valor!
* @param float $valor2 Segundo valor!
*!
* @return float Máximo entre los dos valores!
*/!
public function maximo($valor1, $valor2)!
{!
! $resultado = ($valor1 >= $valor2) !
! ! ? $valor1!
! ! : $valor2;!
!
! return $resultado;!
}
Y por el amor de Dios…
En inglés!
( O en su ausencia, esperanto norteño )
/**!
* Method that calculates maximum value between two values.!
*!
* @param float $value1 First value!
* @param float $value2 Second value!
*!
* @return float Maximum between both values!
*/!
public function maximum($value1, $value2)!
{!
! $result = ($value1 >= $value2) !
! ! ? $value1!
! ! : $value2;!
!
! return $result;!
}
/**!
* Metodo kiu kalkulas maksimuma valoro inter du valoroj.!
*!
* @param float $valoro1 Unua valoro!
* @param float $valoro2 Dua valoro!
*!
* @return float Maksimuma inter ambaŭ valoroj!
*/!
public function maksimuma($valoro1, $valoro2)!
{!
! $rezulto = ($valoro1 >= $valoro2) !
! ! ? $valoro1!
! ! : $valoro2;!
!
! return $rezulto;!
}
Esto es lo que pasa
Cuando se utiliza el español en el código…%
APOCALIPSIS !!!
Nota importante
Evitar comentarios estúpidos: “Ui si, no se
que, soy un código y funciono cacho guay”!
Evitar testing comentado: “echo(‘engonga’) !
Evitar comunicaciones con el futuro:
“Querido developer. Siento la mierda que te
has encontrado, pero basicamente… no sabía
hacerlo mejor…”
Nota importante
Evitar documentación obvia: “Este código
hace algo”!
Evitar escribir vuestras vidas: “Querido
diario… “!
Y sobretodo… “Este código está hecho fatal,
pero funciona”… por el amor de Dios!
Despedido! Fuera! Y no vuelvas!
Consejos de éxito
Herramientas de calidad!
Testing!
Compromiso con vuestra
obra. Es vuestro reflejo.!
Pair programing!
Code review
Humildad
Juzga por como uno resuelve sus errores%
no por la forma en que los comete.
Gracias, público
@mmoreram

Mais conteúdo relacionado

Mais de Marc Morera

When symfony met promises
When symfony met promises When symfony met promises
When symfony met promises Marc Morera
 
When e-commerce meets Symfony
When e-commerce meets SymfonyWhen e-commerce meets Symfony
When e-commerce meets SymfonyMarc Morera
 
Dependency injection
Dependency injectionDependency injection
Dependency injectionMarc Morera
 
Gearman bundle, Warszawa 2013 edition
Gearman bundle, Warszawa 2013 editionGearman bundle, Warszawa 2013 edition
Gearman bundle, Warszawa 2013 editionMarc Morera
 
Crawling the world
Crawling the worldCrawling the world
Crawling the worldMarc Morera
 
Rsqueue bundle 06.2013
Rsqueue bundle 06.2013Rsqueue bundle 06.2013
Rsqueue bundle 06.2013Marc Morera
 

Mais de Marc Morera (6)

When symfony met promises
When symfony met promises When symfony met promises
When symfony met promises
 
When e-commerce meets Symfony
When e-commerce meets SymfonyWhen e-commerce meets Symfony
When e-commerce meets Symfony
 
Dependency injection
Dependency injectionDependency injection
Dependency injection
 
Gearman bundle, Warszawa 2013 edition
Gearman bundle, Warszawa 2013 editionGearman bundle, Warszawa 2013 edition
Gearman bundle, Warszawa 2013 edition
 
Crawling the world
Crawling the worldCrawling the world
Crawling the world
 
Rsqueue bundle 06.2013
Rsqueue bundle 06.2013Rsqueue bundle 06.2013
Rsqueue bundle 06.2013
 

Último

presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 

Último (15)

presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 

El Efecto "Este código es una basura"

  • 1. El efecto… este código es una basura! @mmoreram
  • 2. Premisas del juego Nos ponemos en la piel de la comunidad! Vamos a juzgar el trabajo de los demás de forma completamente objetiva! No son nuestros amigos, no les debemos respeto.! Vamos a jugar a ser Dios.
  • 4. A veces la belleza… ( la auténtica belleza… )
  • 5. Está en el interior Gato Sphynx. Considerado el gato mas cariñoso.
  • 7. Y somos tan ignorantes… Que juzgamos sin previo análisis.
  • 8. Mamá! Mira donde he pasado el fin de semana!
  • 11. El mundo es cruel! Y como tal, la comunidad open-source
  • 12. Aparenta lo que eres!! Open-source is everywhere
  • 13. Premisas del juego Nuestro trabajo será juzgado por “la comunidad”. Siempre!! “La comunidad” puede ser el desarrollado que 2 años después, siga trabajando el código que antaño empezaste tu.! “Y quien mierdas hizo esta basura?” - Dijo Flipencio
  • 14. Esto es una basura! public function aaaaaa($a, $b)! {! $a += $b+($a-b); //die;! $b -= $a; // ui si, no se que…! ! //echo $a;! ! if ($a) $b = 1; else! $b =0; return; }!
  • 15. Recuerdo! Somos la comunidad.% Somos crueles.% Somo miserables.% No tenemos piedad.% Queremos destrucción.
  • 16. Naming Nombres con sentido semántico. No valen:% $a, $var, $cosa% $variable -> seriously?% meGustanLosPercebes() -> Método para dominar el mundo%
  • 17. public function maximo($valor1, $valor2)! public function divide($numerador, $denominador)! public function dominar(AbstractWorld $mundo)
  • 18. Alineaciones Respeta los estándares, o las IDEs de los demás,% querrán, literalmente, fusilarte.
  • 19. public function maximo($valor1, $valor2)! {! ! $resultado = ($valor1 >= $valor2) ! ! ! ? $valor1! ! ! : $valor2;! ! ! return $resultado;! }
  • 20. Documenta No le quites las ganas de vivir de los% developers. Seguro que te lo agradecerán…% Y sus familias también :)
  • 21. /**! * Método para calcular el máximo entre dos valores.! *! * @param float $valor1 Primer valor! * @param float $valor2 Segundo valor! *! * @return float Máximo entre los dos valores! */! public function maximo($valor1, $valor2)! {! ! $resultado = ($valor1 >= $valor2) ! ! ! ? $valor1! ! ! : $valor2;! ! ! return $resultado;! }
  • 22. Y por el amor de Dios…
  • 23. En inglés! ( O en su ausencia, esperanto norteño )
  • 24. /**! * Method that calculates maximum value between two values.! *! * @param float $value1 First value! * @param float $value2 Second value! *! * @return float Maximum between both values! */! public function maximum($value1, $value2)! {! ! $result = ($value1 >= $value2) ! ! ! ? $value1! ! ! : $value2;! ! ! return $result;! }
  • 25. /**! * Metodo kiu kalkulas maksimuma valoro inter du valoroj.! *! * @param float $valoro1 Unua valoro! * @param float $valoro2 Dua valoro! *! * @return float Maksimuma inter ambaŭ valoroj! */! public function maksimuma($valoro1, $valoro2)! {! ! $rezulto = ($valoro1 >= $valoro2) ! ! ! ? $valoro1! ! ! : $valoro2;! ! ! return $rezulto;! }
  • 26. Esto es lo que pasa Cuando se utiliza el español en el código…% APOCALIPSIS !!!
  • 27. Nota importante Evitar comentarios estúpidos: “Ui si, no se que, soy un código y funciono cacho guay”! Evitar testing comentado: “echo(‘engonga’) ! Evitar comunicaciones con el futuro: “Querido developer. Siento la mierda que te has encontrado, pero basicamente… no sabía hacerlo mejor…”
  • 28. Nota importante Evitar documentación obvia: “Este código hace algo”! Evitar escribir vuestras vidas: “Querido diario… “! Y sobretodo… “Este código está hecho fatal, pero funciona”… por el amor de Dios! Despedido! Fuera! Y no vuelvas!
  • 29. Consejos de éxito Herramientas de calidad! Testing! Compromiso con vuestra obra. Es vuestro reflejo.! Pair programing! Code review
  • 30. Humildad Juzga por como uno resuelve sus errores% no por la forma en que los comete.