binary option vs penny stocks profit
does scottrade offer binary option buddy v3
how to win in binary option 100 return broker uk
arbitrage in best site for trading binary option
binary options demo app netherlands
trade rush review trade rush binary option broker
online binary option trading strategies system z10
binary options methods research design explained
one two trade binary options optionsxpress
4xp binary options demo kraken
top 2 forex binary options daily picks strategies
binary options trading truth income
binary option itm signal service trading signals
plus 500 binary options daily
canadian based binary option brokers free
binary option trading platform comparison strategies 6
binary option on youtube pairs
binary option system galaxy l g
binary option 90 killer
onetwotrade binary options trading investment video
leading binary option company 360
binary options platforms in america pro signals review
legit binary options 100 bonus
binary option trading meaning platform
anyoption binary options japan
1 minute binary options strategy 80 system
binary options practice account easy trading opti
60 second trades forex binary option trading strategy 2015 martingale
most reputable binary option brokers helper
learn binary option buddy v3
5 minute binary option strategy builder
binary options signal services with nadex 0 1
striker9 binary options queen software
binary options strategy for traders
binary option mt4 templates peak
binary option with christine reviews investing
updown signals binary option signals review
smallest minimum deposit with binary options how to
how to trade 5 minute binary option system 88
binary options trading guide com in the us
jeff anderson binary option deposit
top binary options platforms 50 deposit
internet no touch binary options
review of binary options signal providers
binary option auto trade software bonuses
training on pinocchio binary options trading strategy
binary options robot top option blacklist
what is a binary option system
binary options methods rims newsletter
binary option methods to relieve stress apple
commodity how do 60 second binary options work
binary option platforms uk russia
key features of binary options trading
how to win in binary options zeta jokes
is binary options in australia legitimate
15 minute how to trade with binary options
is binary options trading safe experts
difference between forex and binary options candlestick patterns
free binary option signals services tutorial
automated binary option trading
binary option indicator 95 accurate di malaysia
empireoption is actually a binary choice
binary or digital options
best binary options to trade review demo
how to avoid binary option scams money
is binary option 500 a fraud
is are binary option fake legal
can you win at binary options strategies
optionfair binary options australia tax
risk of binary options system 76 computers
free profits binary options
binary options best stocks
is binary option a fraud it real
how to win binary option trade
bsz binary options 24h
top 5 binary option robot complaint
best trading platform for binary option system 80
how to trade binary options forex trading buddy 2 0
marketsking binary options broker review
binary option strategies g autopilot
www is 24 binary option a scam trading demo account
vantage binary option system 36
1 minute binary options brokers 2
forex hedging with binary options 2
valuation of safest binary option strategy
regulated 60 second binary option brokers bullet review
forex com binary options disclaimer
binary option di malaysia approximation
binary options strategies 360 boise thinkorswim
evident signs of binary options broker scam
binary option buddy 2 0 strategy
xp markets best binary options 2015
binary option system free trial
binary options with cristine scam citizens
the green room academy binary options trading review bonuses
binary option journal system 51
binary option legal in us 5 minute strategy
binary option system zone indicator v1 0
redwood binary options withdrawals 101 blog
binary option decimal syst
are binary options real
binary option scalping software traders
best binary options trading sites
binary options easy brokers mt4
top binary option signal providers trading
top rated binary option signal providers platforms
price of a binary options anyoptions
binary optionsscamorg binary options reviews we
binary options trading td ameritrade signals 90 accuracy
traderxp binary options methods communication
the best binary option trader one
binary options broker us paypal banking
commodity binary options live signal service
option now binary options 24 hours
tips on binary options buddy 2 0 ex4
best mobile binary options articles
binary options strategies qi trading no deposit bonus
best binary option strategy using moving averages 2015
binary option methods being used secrets
binary option signals trial indicator
what is binary options investopedia
binary options trading times gmt
binary option myths
binary option platform provider free bonus
binary option minimum investment methods0809
success in binary options usa
binary option trading info software
binary option ukash 7 labcorp
how to predict 60 second binary option org
binary options trading app review software download
deposit 1 hour binary option strategy 2015
1 are binary options scams broker
u s binary options brokers success
history of binary options kishore
trading binary options with sar indicator
australian binary options brokers 24h system
how to win in binary options jargon
we trade binary option for you newsletters
binary options trading in canada ru
how to win in binary options trading system cyprus
1 binary options software or a scam
price top binary options traders
binary option methods listed below system 47
bitcoin binary options trading
best binary option trading method review options understanding
binary option payoff diagram 1 minute
binary options trading sites interactive brokers
binary options tips and tricks 100 deposit
binary options daily signal business
que binary option strategies used by teachers
articles on cyprus securities and exchange commission binary options
legitimate how to win in binary option 60 second system
ez trade binary options delta hedging
master binary options trading system u7
winoptions binary options trading nadex
is binary option trading a scam kings
binary optionru web stats rating 04 stars
binary option signals trial jdm
binary option matrix pro how it works
binary option live chat
binary option market news
binary options questions and answers brokers 100 minimum deposit
is how to practice binary option real
et binary options really pay ltd
binary options price derivation 50 deposit
binary options system 5 alarm managed account
binary option experts reviews bit
mt4 binary options methods time measurement indicator
binary options strategies 9 bullet ex4
binary option in excel 88
forex trading or binary option tools
5 minute what are binary options brokers
mt4 how to win in binary options bollinger bands template
us does etoro offer binary options trading
binary options live signals trading strategy youtube
can u make money with binary options timing
binary options trading solution pay off debt faster
what do you think about binary options indicator 95 accurate
how to win in binary option 911 5 min trades
how to withdraw money from binary options coaching
tag archives binary option trading manual
a dummies guide to trading binary options
candlestick charts and binary option trading robot 2015
binary options trading signals 2015 you39 re the first to see this
binary options methods which will it gambling
top binary option signal service charting software
binary options tools charts
trading 5 minute how to do well with binary options

Prácticas para mejorar la calidad del código

herramientasHay muchísimas prácticas que podemos adoptar para mejorar la calidad de nuestro código. ¿Por dónde empezar? ¿Existe una lista única y completa? En este artículo veremos un pequeño listado de buenas prácticas, que nos pueden ayudar a comenzar ese largo camino que implica trabajar con más profesionalismo, mejorando los productos que desarrollamos.

Desarrollo Guiado por Pruebas (TDD)

TDD debe ser la práctica que más contribuye a mejorar la calidad de código y a generar menos bugs. Y además puede usarse en cualquier tipo de proyecto: Ágil, Cascada, u otros. Tiene su origen hace ya muchos años, pero recién Extreme Programming la trajo a escena. Alcanza su máximo potencial cuando se utiliza en conjunto con ciclos de Integración Continua y construcciones automátizadas.

Sin embargo, TDD no es algo que ocurre por desearlo. La mayoría de los desarrolladores no saben cómo implementarla, necesitan capacitación y ayuda (coaching) para practicarla. E incluso entonces será una experiencia de aprendizaje continuo, no esperen ser expertos en TDD en 15 días.

Desarrollo Guiado por Pruebas de Aceptación (ATDD)

ATDD es el siguiente nivel a TDD. Quienes realizan los requerimientos de desarrollo no sólo especifican su criterio de aceptación, sino que lo hacen antes de que ocurra el desarrollo, y lo hacen de manera que pueda ejecutarse automáticamente. En muchos casos se necesita a testers profesionales que trabajen junto al Cliente para crear estos casos.

Integración Continua

Esta es una práctica valiosa por si misma: asegurarnos que el código nuevo no rompa al código existente. Cuando se junta con TDD y ATDD para crear suites de pruebas automatizadas y repetibles, aumenta exponencialmente su valor.

Programación de a pares

La programación de a pares es una revisión instantánea de código, con dos cabezas pensando en el problema (¡dos es mejor que uno! Piensen en los pilotos de aviones comerciales, o los equipos quirúrgicos). También le permite a los desarrolladores enfocarse intensivamente en el trabajo - menos distracciones del teléfono, emails, SMS y otros medios que nos distraen.

Además, la programación de a pares ayuda a formar una cultura colaborativa en el equipo, lo cual genera un impacto positivo invaluable.

Revisiones de código

Es la siguiente alternativa a la programación de a pares: si no trabajan de a pares, al menos hagan revisiones de código. Implementen un proceso liviano que ocurra lo antes de posible después de escribir el código.

Herramientas de análisis estático

En el pasado las herramientas de análisis estático de código se ganaron mala reputación. La generación actual es muy buena y, aunque no son un sustituto a las revisiones de código "humanas" (porque aprenden tanto quien revisa y quien es revisado), son muy baratas de usar.

Automatización

Por si todavía no se dieron cuenta, la mayoría de las sugerencias hasta ahora pueden (y deben!) ser automatizadas. Si no las automatizamos perderemos mucho tiempo realizando estas tareas, pudiendo incluso caer en la tentación de dejarlas de lado. La automatización puede tener un costo a muy corto plazo, que se recupera con creces rápidamente a medida que el proyecto avanza.

Refactor

El objetivo del refactor es mejorar la calidad del código y, más importante, el diseño general. Se pueden hacer refactors sin pruebas unitarias automatizadas, pero es el equivalente a hacer acrobacias en altura sin red. Teniendo las pruebas como red de contención, el refactor debería convertirse en una actividad frecuente que no nos consuma mucho tiempo.

Mostrar y explicar (temprano)

Quizás no resulte obvio porqué esta práctica mejora la calidad del código. Cuando los desarrolladores le muestran al cliente el software que están construyendo de manera regular, se obligan a mantener el código con calidad productiva, funcionando. Esto fomenta un desarrollo de a partes más pequeñas, integrando más seguido.

El segundo objetivo de esta práctica es obtener feedback más frecuente. Esto brinda una guía invaluable sobre lo que se está haciendo bien, o cuando la dirección no es la deseada por el cliente.

Por último, si lo desarrolladores tienen miedo de mostrar su trabajo en progreso a los usuarios, entonces es el momento adecuado para levantar un alerta y empezar a buscar dónde está el problema.

Las pruebas de usuario extienden este razonamiento, y brinda otra línea de pruebas que ayuda a detectar problemas de forma temprana.

Por último, es importante la Cohesión de Equipo porque sino el equipo estaría trabajando en diferentes direcciones y haciendo cosas diferentes al código. Parte de la cohesión de equipo tiene que ser una visión compartida en los objetivos de desarrollo, las ideas de diseño en el código, y qué significa "buen código" para el equipo.

Obviamente esta no es una lista completa, sino un primer paso para empezar a pensar sobre cómo desarrollamos software. ¿Tienen más ideas?

Traducido y adaptado de Things to do to improve code quality, por Allan Kelly.
Compartir

Deja tus comentarios

Post comment as a guest

0

El nuevo Dos Ideas.

Nuevo logo, nuevo buscador, nueva portada, podcast mensual... ¡y muchas novedades más!

Más novedades en Dos Ideas

Los Comentarios.

Harry
I'm very satisfied with the provided contents. I hope more excellent articles would be posted in you...
meemos
We bring you the most exquisite designs at the most affordable prices. We believe in making our cust...
meemos
We bring you the most exquisite designs at the most affordable prices. We believe in making our cust...
meemos
We bring you the most exquisite designs at the most affordable prices. We believe in making our cust...
best essay writing services
I have seen so many home work help sites for students. From that i g=have touched with one of the be...
wiliam jhone
Buy online in Pakistan
Buy watches online in Pakistan
Online shopping in Pakistan

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw