El Baúl del programador. JAXenter - News, Articles, Code. The pitfalls of Test-Driven Development. A few days ago, David Heinemeier Hansson posted a very negative article on Test-Driven Development (TDD) which generated quite a bit of noise.
This prompted Kent Beck to respond with a Facebook post which I found fairly weak because it failed to address most of the points that David made in his blog post. I have never been convinced by TDD myself and I have expressed my opinions on the subject repeatedly in the past (here and here for example) so I can’t say I’m unhappy to see this false idol finally being questioned seriously. I actually started voicing my opinion on the subject in my book in 2007, so I thought I’d reproduce the text from this book here for context (with a few changes).
The Pitfalls of Test-Driven Development I basically have two objections to Test-Driven Development (TDD). It promotes microdesign over macrodesign. Let’s go over these points one by one. TDD Promotes Microdesign over Macrodesign. ICONIX Software Engineering. Our JumpStart Training provides focused, intensive lecture/lab workshops that get your project moving immediately.
ICONIX JumpStart Training reinforces the concepts learned in lecture by applying the methods learned to your real project in the lab. Your company's project is previewed prior to arrival, saving you valuable training time and money! JumpStart Training is now available for both SysML and UML, using either Sparx Enterprise Architect or MagicDraw. View more » llen, Texas – No Magic Inc., the leading global provider of integrated modeling, simulation, and analysis services and solutions and ICONIX, the leading provider of branded and customized process training, announced a comprehensive training partnership today. "We partnered with No Magic because of their strong leadership position... View more » New "more agile" version of Agile/ICONIX add-in available! Sesión 1: Introducción a la tecnolgía EJB. Los contenidos que vamos a ver en el tema son: Desarrollo basado en componentes Servicios proporcionados por el contenedor EJB Funcionamiento de componentes EJB Tipos de beans Desarrollo de beans Clientes de los beans Roles EJB Evolución de la especificación EJB Ventajas de la tecnología EJB 1.1 Desarrollo basado en componentes Con la tecnología J2EE Enterprise JavaBeans es posible desarrollar componentes (enterprise beans) que luego puedes reutilizar y ensamblar en distintas aplicaciones que tengas que hacer para la empresa.
Por ejemplo, podrías desarrollar un bean Cliente que represente un cliente en una base de datos. Podrías usar después ese bean Cliente en un programa de contabilidad o en una aplicación de comercio electrónico o virtualmente en cualquier programa en el que se necesite representar un cliente. El desarrollo basado en componentes promete un paso más en el camino de la programación orientada a objetos. 1.2 Servicios proporcionados por el contenedor EJB 1.4 Tipos de beans. Basecamp is everyone’s favorite project management app. Orbis Tertius, [Indispensables] La prueba de Joel Spolsky: 12... Joel Spolsky es uno de los programadores más influyentes de los últimos años.
Además de tener una carrera brillante programando software (que incluye el haber sido uno de los primero Product Managers de excel, la creación del mejor sitio para dudas técnicas:StackOerflow o el útil Trello para administrar tareas), fue uno de los primeros en empezar a bloguear sobre el tema. Cuando alguien con su experiencia y su claridad de ideas decide escribir artículos gratis en internet, hay que leerlo. Eso fue exactamente lo que pasó, mucha gente empezamos a seguir con avidez cada uno de ellos y muchos se volvieron verdaderos clásicos en el mundo del desarrollo de Software. Uno de sus artículos más importantes es “The Joel Test: 12 Steps to Better Code”. Esta “Prueba” son 12 preguntas que se contestan con un Sí o un No y que permiten saber qué tan bueno es un equipo de Software. Revisemos una a una las preguntas: 1. 2. Lo ideal debe ser un sólo paso. Una actualización sobre este punto: Building Better Software.
Doce principios de diseño que todo desarrollador debería conocer. Hace unos años, se pusieron de moda aquellas aplicaciones que intentaban generar una aplicación a partir de sus requisitos o especificaciones.
El tiempo ha pasado, y ese tipo de aplicaciones siguen pareciendo bastante improbables. Es cierto que hay herramientas capaces de generar código fuente, pero funcionan para código repetitivo y que suele escribirse siempre igual. Está claro que el desarrollo de software es un proceso muy artesanal. Depende mucho de la pericia de las personas que lo desarrollan.
Para ayudar a desarrollar programas robustos, mantenibles y que se puedan modificar, existen varios principios de diseño que ayudan a desarrollar software de este tipo. Aunque la mayoría son aplicables a la programación orientada a objetos – el paradigma más extendido – algunos de ellos se pueden aplicar a otros tipos de programación. No te repitas El DRY (Don’t repeat yourself) de toda la vida. Que sea simple, estúpido Conocido como KISS (Keep It Simple Stupid). Aplica siempre SOLID.