Este documento habla sobre la importancia de refactorizar el código para mantenerlo limpio. Explica que escribir código limpio es tan importante como hacerlo funcional y es crucial para la sostenibilidad de una carrera profesional. También presenta algunos principios básicos de código limpio como tener clases pequeñas con una sola responsabilidad, usar nombres descriptivos, minimizar comentarios y funciones pequeñas que hagan una sola cosa.
Do not include any personal information as all posted material on this site is considered to be part of a public record as defined by section 27 of the Municipal Freedom of Information and Protection of Privacy Act.
We reserve the right to remove inappropriate comments. Please see Terms of Use for City of Toronto Social Media Sites at http://www.toronto.ca/e-updates/termsofuse.htm.
Acciones de diseño y desarrollo de objetos educativos copiaSandraClementMira
Este documento trata sobre la incorporación de las nuevas Tecnologías de la Información y Comunicación en el ámbito educativo y también de las diferentes leyes y planes educativos que ha llevado a cabo la Administración educativa para fomentar la inclusión de las TIC.
Do not include any personal information as all posted material on this site is considered to be part of a public record as defined by section 27 of the Municipal Freedom of Information and Protection of Privacy Act.
We reserve the right to remove inappropriate comments. Please see Terms of Use for City of Toronto Social Media Sites at http://www.toronto.ca/e-updates/termsofuse.htm.
Acciones de diseño y desarrollo de objetos educativos copiaSandraClementMira
Este documento trata sobre la incorporación de las nuevas Tecnologías de la Información y Comunicación en el ámbito educativo y también de las diferentes leyes y planes educativos que ha llevado a cabo la Administración educativa para fomentar la inclusión de las TIC.
blogwordpress.website is a leading full services web development company catering result-oriented and cost-competitive solutions to SMEs across the US, UK, Japan, Australia, Canada and many parts of Europe.
Multipurpose, Website, blog, wordpress
Presented at the Older HealthCare Workers Conference co-hosted by Health & Medicine Policy Research Group and the Great Lakes Centers for Occupational and Environmental Safety and Health (University of Illinois at Chicago, School of Public Health)
Comúnmente conocemos redis como un sistema de caché distribuido que podemos usar en modo PaaS gracias a la plataforma de azure. Pero redis se define como un sistema de base de datos NoSql de tipo clave valor, que funciona perfectamente como memoria caché, pero que además tiene muchas características adcionales. A lo largo de esta charla comentaremos las posibilidades de este servicio y cómo podemos explotarlas.
Sesión Académica del CRAIC
Dra. Patricia Monge Ortega, Residente de primer año.
Profesor asesor: Dra. Maricela Hernández Robles
Hospital Universitario
Universidad Autónoma de Nuevo León, México
blogwordpress.website is a leading full services web development company catering result-oriented and cost-competitive solutions to SMEs across the US, UK, Japan, Australia, Canada and many parts of Europe.
Multipurpose, Website, blog, wordpress
Presented at the Older HealthCare Workers Conference co-hosted by Health & Medicine Policy Research Group and the Great Lakes Centers for Occupational and Environmental Safety and Health (University of Illinois at Chicago, School of Public Health)
Comúnmente conocemos redis como un sistema de caché distribuido que podemos usar en modo PaaS gracias a la plataforma de azure. Pero redis se define como un sistema de base de datos NoSql de tipo clave valor, que funciona perfectamente como memoria caché, pero que además tiene muchas características adcionales. A lo largo de esta charla comentaremos las posibilidades de este servicio y cómo podemos explotarlas.
Sesión Académica del CRAIC
Dra. Patricia Monge Ortega, Residente de primer año.
Profesor asesor: Dra. Maricela Hernández Robles
Hospital Universitario
Universidad Autónoma de Nuevo León, México
¡Por fin compila! No obstante, ¿otro programador sería capaz de entender tu código sin susurrar un solo WTF?
¿Es lo suficientemente claro como para que otro compañero no necesite días para entender lo que hace tu sistema?
En esta charla se describe cuales son las actividades principales de un Software Developer Engineer.
Así mismo se trata de dar una breve introducción a algunos de los Principios de Liderazgo de Amazon
El Desarrollo Guiado por Pruebas es una forma de trabajar que nos permite diferir las decisiones sobre el diseño de nuestro código hasta poco antes de escribirlo. Además, nos permite cambiar el código con seguridad conforme se van añadiendo nuevas reglas y funcionalidades.
Pero para iniciados puede llegar a ser un proceso complejo de dominar. En esta charla empezaremos con una introducción a través de un ejemplo práctico con la herramienta para PHP phpspec, describiremos cómo TDD encaja como una pieza más del proceso de desarrollo de software y lo acompañaremos con unos cuantos consejos prácticos.
5. Escribiendo código
limpio
No es lo mismo el proceso de escribir código
para hacerlo funcionar que el proceso de dejar
nuestro código limpio.
6. Ser Profesionales
› Hacer el código claro, comprensible, limpio es tan
importante como hacerlo ejecutable
› No solamente es “cost-effective”, es una cuestión
de supervivencia profesional.
› Practicar!
7. “Clean code is simple, direct and reads like well-
written prose” - Grady Booch
“Clean code can be read and enhanced by a
developer other than its original author. It has unit
tests” - Dave Thomas
“Clean code always looks like it was written by
someone who cares” - Michael Feathers
“No duplication, expressiveness, meaningful names”
- Ron Jeffries
10. Clases
˃ clases deben ser pequeñas!
Las
˃ y sola una razón por la cual deba
Una
modificarse.
˃ nombre de la clase debe describir qué
El
responsabilidad posee..
11. Nombres
˃Nombres por todos lados!
˃Revelar la intención
– int d; // elapsed time in days
– List<string> list1 = new List<string>();
˃Los humanos somos buenos con las palabras
˃Usar palabras “buscables”
˃Explicitar el código
– if x[0] > 18 then …
12. Comentarios
• Comentarios = fracasos
• Difíciles de mantener
// Acá validamos si el cliente posee saldo
if (cliente.Saldo > totalCompra && cliente.Saldo <=
MAXIMO_TOTAL_COMPRA && …)
13. Funciones
˃Las funciones deben ser pequeñas!
˃Deben realizar sólo 1 cosa
˃Un nivel de abstracción por función
˃Usar nombres descriptivos
˃Argumentos: menos es más
˃Sin efectos secundarios
14. Formato
˃Funciones dependientes verticalmente cerca
˃Variables deben declarse tan cerca de su uso como
posible
˃Indentación
˃Cada programador tiene sus reglas favoritas, pero
si trabaja en equipo, el equipo tiene preponderancia
15. “Deja el mundo un poco mejor de lo que
lo encontraste” – Boy Scouts of America
Notas del editor
Queremos dedicar la mayor parte de la sesión a ver código.
Cleancode es acerca de pequeñas cosas cuyo valor lejos está de ser pequeño. Esas pequeñas cosas tienen que ver con prestar atención a detalles que van a repercutir fuertemente en la calidad de nuestro código, y eso va a tener un alto impacto en qué tan exitoso puede resultar el proyecto en el que trabajamos, y en qué tan profesionales somos.
En la industria aumotriz, de la cual Agile se ha basado fuertemente, la gran mayoría del trabajo no está puesto en la producción, sino en el mantenimiento –o en evitarlo-. En software, el 80% de lo que hacemos es considerado “mantenimiento”. Más aún, dedicamos más veces a leer código –propio y de terceros- que lo que dedicamos a escribir código. Entonces hacer el código comprensible es tan importante como hacerlo ejecutable.
Switch mental entre construir código para hacerlo funcional, y refactorizarlo
Desafortunadamente en general no vemos esto como parte del arte de programar. Abandonamos nuestro código antes de tiempo, no porque esté listo, sino porque nuestro sistema de valores se focaliza en la apariencia externa en mayor medida que la esencia de lo que entregamos.
La primer regla de las clases es que deben ser pequeñas. La segunda regla de las clases es que deben ser más pequeñas que eso.Si nos cuesta determinar un nombre para una clase, probablemente signifique que es demasiado grande.Técnica: Replace a methodwithMethodObject
La primer regla de las funciones es que deben ser pequeñas. La segunda regla de las funciones es que deben ser más pequeñas que eso.