2005/06/28

Legge di Demeter

Ecco uno degli aspetti della OOP che ancora mi mancano. Ho provato a dare una letta ad un articolo, poi ne ho discusso sul gruppo di extremeprogramming-it, in cui mi hanno dato un altro articolo da leggere.

Il problema è l'applicazione di questi aspetti al Metamapper in PAFlow. Il Metamapper è il nostro modo per rendere esplicite le dipendenze che derivano dall'Acquisition di PAFlow. In pratica, il Metamapper esporta tutti i metodi necessari a raggiungere tutti i tool (come odio questo termine!) di cui è fatto PAFlow.

E' quindi molto naturale in PAFlow vedere del codice del tipo:

charge = self.getMembershipManager().getLoggedCharge()

dove getMembershipManager() mi ritorna appunto il tool MembershipManager. Ora mi leggo anche il nuovo articolo, e poi vedo cosa fare.

2005/06/26

Automazione della creazione dei Mock

Finalmente sono riuscito a mettere la creazione di buona parte dei Mock di PAFlow direttamente all'interno del nostro TestCase base, invece di dover esplicitamente importare i metodi e crearli. In pratica, prima si doveva fare:

from Mock import manage_addMockCounter

class MyTest(ZopeTestCase.ZopeTestCase):

def testOne(self):
manage_addMockCounter(self.app)
...

ora invece:

class MyTest(AbstractLocalizedTestCase):

def testOne(self):
self._addMockCounter()


Il passo successivo è fare in modo che nessun test debba più dipendere da Mock, in modo che poi posso spostare AbstractLocalizedTestCase direttamente dentro Mock.

2005/06/25

Una a zero per il Vaticano

Ecco una visione dell'ultimo referendum svoltosi in Italia, visto dall'altra parte della Manica.

Nuova struttura delle notifiche

Finalmente sono riuscito a fare il commit delle notifiche, dopo averci lavorato, di qui e di lì, più di una settimana. Non sono sicuro di non aver introdotto qualche bug, anche se tutti i test di unità girano... tuttavia, continuare a tenermelo in pancia era il modo migliore per evitare che questi bug uscissero fuori.

Ora, se avessi anche il tempo di scrivere come sono strutturate le nuove cose...