Pair Programming alone in Action¡¡¡

Pair Programming alone in Action¡¡¡, originalmente cargada por d0mix.

Un compañero de la oficina me tomo esta foto mientras hacia un poco de Pair Programming, el único detalle es que lo hacia solo…

Es lo malo de tener a la demás gente muy ocupada.

En producción…

Estoy haciendo un update de mi copia local de todo el SVN de la empresa y me encontre con una joyita. Se trata  de un tag de una aplicación que se llama “enProduccion”. De momento me imagine el siguiente dialogo:

Líder  de proyecto: Necesitamos salir a producción
Desarrollador: Ok, espera deja hago el tag de lo que vamos a instalar. Necesito borrar un tag y crearlo de nuevo. Por cierto, vamos a perder la versión anterior que tenemos en producción.

Protected

Desarrollador 1 (D1): Hola Desarrollador 2.
Desarrollador 2 (D2): Hola.
D1: Tienes una clase abstracta y de esa heredan otras clases. De las clases heredadas estas usando una variable de instancia de la clase base. Para poder hacer eso la variable de instancia tiene el modificador de acceso protected, el modificador de acceso adecuado es private. Para poder acceder a la variable de instancia usa un accesor por favor.
D2: Pero no pasa nada es lo mismo.
D1: Por favor cambialo.
D2: Pero es lo mismo.
D1: No es adecuado hacer eso.
D2: Pero no pasa nada, es lo mismo.
D1 (Pensando): Mierda, que lo cambies cabrón.
D1: Debes cambiarlo.
D2: Es que es lo mismo, no necesitamos un metodo accesor.
D1: No debemos acceder directamente a las variables de instancia, marcalas como private.
D2: Pero entonces, ¿porque Java tiene protected?. Si lo tiene lo debemos usar.
D1: Asi es, Java tambien soporta goto y label’s y no por ello vamos a hacer ciclos con eso, ¿o si?

Confusiones…

Arquitecto (A): Necesito que desarrolles unos VO’s para el proyecto.
Programador (P): Ahh si claro.
A: ¿Como cuanto te tardas?
P: Pues… mmmm… Como una semana.
A: ¿Tanto?
P: Si, es que necesito revisar unas cosas y ver bien los requerimientos.
A: Ok, mientras te queden no hay problema, en una semana los revisamos.

Una semana despues….
A: Que tal, ¿ya tienes los VO’s?
P: Ahh si, aun no los pongo en una EAR, pero deben funcionar bien.
A: ¿?, ¿que?
P: Mira mejor ve el código.
A: Ok, a lo mejor escuche mal.

Código mostrado:

public class MyVo implements javax.jms.MessageListener, javax.ejb.MessageDrivenBean {
private String myString;
public String getMyString() {return myString}
public void setMyString(String myString) {this.myString = myString}

public void onMessage(Message message) throws JmsException {
//TODO: No se que poner aqui, esperar instrucciones..
}

public void setMessageDrivenContext(MessageDrivenContext ctx) throws EJBException {
//TODO: No se que poner aqui, esperar instrucciones..
}
public void ejbRemove() throws EJBException {
//TODO: No se que poner aqui, esperar instrucciones..
}
}

A: Pero, ¿que es esto?
P: Pues lo que me pediste.
A: Pero era unos VO’s, no un MDB.
P: ¿En serio? ¿que no es el mismo patrón de diseño?
A: ¿? …… €#$%&***
A (Pensando): Puta madre…… No puede ser, que chingaderas son estas… Eran unos jodidos VO’s
A (En voz alta): Esta bien, dejalo asi, te voy a cambiar tu PC por una escoba.
A (Pensando): Y no va a ser para que te pongas a barrer…. Que bueno que no eres médico cabrón….

Charla entre desarrolladores.

Desarrollador X: ¿Que pedo con esta pendejada que subieron al SVN?
Desarrollador Y: ¿Que? ¿La volvieron a cagar?
Desarrollador X: Si no mames, ya no compila esta madre y debo hacer un deploy.
Desarrollador Z: Pues yo no fui.
Desarrollador X: No mames we, si fuiste tu, ya revise el log del SVN.
Desarrollador Z: Nel, ni madres yo no fui.
Desarrollador X: Entonces que pedo?
Desarrollador Z: Neta que no fui yo.
Desarrollador X: Pero que pedo, entonces que? Un pendejo hizo el cambio, te lo envío por mail y tu le diste commit en su lugar?
Desarrollador Z: mmmmm