dijous, 31 d’octubre de 2013

Secret Santa

Per fi, i fruit de la necessitat he creat una nova "aplicació". Realment és una web per a mòbil, però que es pot visitar com aplicació des de qualsevol mòbil (bo, de moment només windows phone i android). Es tracta d'una aplicació per a fer els sortejos d'amic invisible. Cada usuari tindra un altre usuari com a resultat.
També es pot veure via web a :
http://secretsanta.vicentfernandez.cat

Podeu veure unes captures de pantalla:




diumenge, 13 d’octubre de 2013

Comence un curs de programació

He començat un curs de programació (realment seran una série de cursos), obert a tot el públic clar (es pot entrar com a visitant),

http://moodle.plataformesdigitals.cat/course/view.php?id=8

La idea és anar fent un curs o cursos de totes les fases de programació:


  • Programació bàsica (Introducció a la programació) 
  • Entorns de programació
  • Programació Orientada a Objectes
  • Programació de jocs
  • Programació RAD
  • Programació Mòbil
  • Programació servidor
  • TDDs
  • Gestió de projectes (gestió de codi, personal..)
  • ...

dilluns, 7 d’octubre de 2013

Quan dos "gurús" recomanen el contrari



Ja m'ha passat alguna vegada i fa poc estava comentant-ho amb un col·lega (Hola Master Jail /Juan Ramon ;)). Després de llegir-me el llibre Clean Code de Robert C. Martin, vaig començar a llegir-me el llibre Test-Driven Development by Example de Kent Beck. El llibre me l'havia recomanat molta gent, des de Juan Ramon fins al mateix autor de Clean Code al seu llibre. La meua sorpresa ha sigut al inspeccionar les recomanacions d'eliminació de duplicitat al fer els tests, al final el codi del test queda així:

public void testMultiplication() {
   Dollar five= new Dollar(5);
   assertEquals(new Dollar(10), five.times(2));
   assertEquals(new Dollar(15), five.times(3));
}


o encara pitjor:
public void testEquality() {
     assertTrue(new Dollar(5).equals(new Dollar(5)));
     assertFalse(new Dollar(5).equals(new Dollar(6)));    
     assertTrue(new Franc(5).equals(new Franc(5)));
     assertFalse(new Franc(5).equals(new Franc(6)));
}

En canvi, Bob Martin sempre ens recomana guardar els objectes en una variable (anomenar-los si no em falla la memòria). La primera línia de l'últim test deuria d'haver-se escrit així:

   dollarfive = new Dollar(5);
   anotherdollarfive = new Dollar(5);
   assertTrue(dorlarfive.equals(anotherdollarfive));

És a dir, exactament remomanacions contràries. A mi, personalment m'agrada no tindre mètodes/objectes anònims i guardar-los en variables (com ho fa Bob Martin). La majoria de programadors de node.js fan el contrari... per a gustos colors. I a vosaltres, que vos agrada més?