“Stop Writing Classes”, ¿por qué?

Este es el título de una conferencia que daba Jack Diederich, en la PyConUS de 2012. Deja de escribir Clases. Cuando desarrolles en Python, deja de escribir Clases. ¿Por qué? Porque sabemos hacer uso de las falacias y no invitamos a reflexionar.


He aquí la charla de Diederich, con los ejemplos de los que hablaremos:

Y ahora, mis reflexiones sobre ello.

Python es un lenguaje con el que muchos se han iniciado en el mundo del desarrollo, y me incluyo. En su momento, era el mejor lenguaje, el más fácil de aprender, el que te iba a precipitar hacia el éxito.

Y puede que algunas de esas cosas fueran verdad. Pero a medida que he ido aprendiendo desarrollo, he revisitado mis manuales y apuntes de Python, y es un lenguaje que cada vez me gusta menos.

Es un lenguaje orientado a Objetos total, pero no necesitas Clases para escribir un sencillo script, no necesitas declarar Clases para todo. Pero eso no significa que tengas que prescindir de ellas, o si estás usándolas, es que lo estás haciendo mal. Es una falacia, falacia Secundum Quid: si las Clases no soluciona ninguno de esos problemas planteados, está claro que las Clases no valen para nada y por lo tanto deberíamos dejar de usarlas.

Esto no se trata de “parecer inteligente”, como he leído en comentarios en este vídeo. No se trata de escribir más código innecesario, porque hay Clases pequeñas, funcionales y perfectas para su propósito. Se trata de usar un paradigma de forma correcta. Se trata de conocer la herramienta que estamos usando y hacer correcto uso de ella.

La mayor parte, si no todos, de los ejemplos mostrados se debe a una mala refactorización… incluso la ausencia de ella. ¿Y qué es la refactorización? Es el perfeccionamiento del código, el cambio del mismo sin cambiar la funcionalidad. Es mejorar lo que has escrito, que las Clases no tengan métodos innecesarios, que no tengan miembros que deberían corresponder a otra Clase, que no tengan código muerto… en definitiva, mejorar lo que has picado. Porque escribir la primera solución que se te venga a la cabeza es posible, pero no significa que sea lo correcto, lo más eficiente, la mejor solución.

Soy solo estudiante de desarrollo de aplicaciones multiplataforma, no una experta, pero considero que este mensaje es erróneo y nocivo para los futuros programadores.

No dejes de escribir Clases. Escribe Clases, pensando en lo que quieres conseguir y cómo llevarlo a cabo. Refactoriza, piensa en cómo mejorar el código, si realmente lo que has escrito corresponde al fichero donde lo has colocado, si tienes el código que vas a utilizar y no tienes el que no vas a usar, si tu compañero en desarrollo entenderá lo que has escrito y lo que pretendes conseguir. Mejora tus métodos, mejora los nombres, mejora tus propiedades/atributos, mejora tus Clases.

No dejes de aprender, piensa por ti mismo y no te dejes influenciar por mensajes tan absolutos como “stop writing Classes”.

¿Quieres aprender a refactorizar? Puedes leer sobre ello en MSDN y también en WikiBooks, y muchas otras referencias que podrás encontrar en la red.

seeU!

Anuncios

2 thoughts on ““Stop Writing Classes”, ¿por qué?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s