miércoles, junio 16, 2010

Dos conceptos de programación que debes manejar.

Advertencia: Post para programadores ;)
Update (17 Junio): Se publica la versión correcta del artículo.


Como en toda carrera, cada cierto tiempo y en algún lugar, alguien inventa o idea nuevos conceptos que cambian paradigmas para bien. El problema de estos (nuevos o no tan nuevos conceptos) radica en que vienen acompañados de terminologia que suele ser complicada y que tambien intimidante.
"Dependency Injection" y "Design by Contract" son dos ejemplos perfectos de lo que menciono, y precisamente les quiero recomendar cuatro lecturas para comprenderlos, ¡y tambien los invito a que los practiquen!... y si ya los conoce, vale la pena repasarlos.

Para "Dependency Injection" recomiendo que lean esta entrada en StackOverflow:
http://stackoverflow.com/questions/130794/what-is-dependency-injection
Luego lea el siguiente artículo publicado en el blog de Google Testing (que de paso, recomiendo que lean seguido):
http://googletesting.blogspot.com/2008/07/how-to-think-about-new-operator-with.html

Para "Design by Contract" pregúntate a ti mismo ¿cuando fue la ultima vez que implementaste interfaces y "assertions" en tu código? y lea:
http://www.dugaldmorrow.com/index.php?option=com_content&task=view&id=19&Itemid=38
Y si quiere un poco más de teoría:

http://www.eiffel.com/developers/design_by_contract.html
Invito a los programadores, que no conocían o comprendían totalmente estos conceptos (como yo) que los entiendan y apliquen lo más pronto posible, para hacer su desarrollo de software un poco más fácil :)

¿Qué otro concepto de programación crees que es importante comprender?
Espero que a alguien le sirva, Saludos!

Sunsetting Sr. Byte.

El Sr. Byte ha estado más de 5 años inactivo. Digamos que estaba en " code freeze ". Pero ahora es el último release. Quizas no...