PDA

View Full Version : Programma "Refactor This!" [Da leggere]


Pagine : 1 2 [3]

thebol
03-04-2008, 09:52
cut

non importa che metti i TODO in ogni punto. Magari mettine uno, abbastanza descrittivo su cosa intendi per refactoring, poi uno si guarda la lista dei task nel codice, lo trova, lo legge e capisce cosa si dovrebbe fare. Poi se ha dubbi chiede sul forum.

Se il refactoring è complesso, va descritto bene, altrimenti chi legge il TODO nn sa bene cosa deve fare, e magari fa il refactoring in una maniera diversa da quella voluta, e perde solo tempo

thebol
03-04-2008, 17:52
Ho implementato la Region(0, 0, 0, 0)


if (top < 0 || left < 0)
{
return new Region(0, 0, 0, 0);
}


poi ho eliminato i vari controlli region != null nel codice, e gli unici test che falliscono, sono quelli che verificavano precisamente il codice che ho cambiato.

Ho provato un po in gioco, e non ho visto errori evidenti.

faccio i nuovi test per region e committo

nn ho ancora commitato per un motivo. Mi stavo guardando alcuni metodi che usano Region ho qualche dubbio

una region(1,1,0,0), cioè una 0x0, se chiedo quali celle appartengono a lei, deve ripondere null, o Cell(1,1).

Questo è un esempio, ma ci sono vari punti in cui ho il dubbio se il comportamento con una region 0x0 ha senso come e adesso(ritorna Cell(1,1)) oppure no

^TiGeRShArK^
03-04-2008, 20:04
YAGNI!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ma le gif spettacolari che fine hanno fatto?!?!? :cry:

Ufo13
03-04-2008, 21:25
nn ho ancora commitato per un motivo. Mi stavo guardando alcuni metodi che usano Region ho qualche dubbio

una region(1,1,0,0), cioè una 0x0, se chiedo quali celle appartengono a lei, deve ripondere null, o Cell(1,1).

Questo è un esempio, ma ci sono vari punti in cui ho il dubbio se il comportamento con una region 0x0 ha senso come e adesso(ritorna Cell(1,1)) oppure no

Ma invece avere una classe NullRegion?

thebol
04-04-2008, 10:06
Ma invece avere una classe NullRegion?

Region è modificabile.

Se è lecito allargare una region 0x0(per me lo è) il nullRegion nn se po fa

Ufo13
04-04-2008, 10:09
Hmm hai ragione non ci avevo pensato.

Esisterebbero casi in cui una NullRegion debba estendersi?

jappilas
04-04-2008, 13:22
Ma le gif spettacolari che fine hanno fatto?!?!? :cry:sarebbe da upparle tutte su imageshack se già non lo sono, e raccogliere tutti i link in un thread "Diamonds Refactoring Proposal Standard Reply GIFs", sticky :O

Antares88
06-04-2008, 01:58
sarebbe da upparle tutte su imageshack se già non lo sono, e raccogliere tutti i link in un thread "Diamonds Refactoring Proposal Standard Reply GIFs", sticky :O

domani appena ho un attimo le recupero dal pc e me ne occupo io, aggiungendone anche una o due nuove che avevo in mente di fare.

cmq erano già su imageshack mi pare. le avevo caricate li se non erro.

Bonfo
06-04-2008, 13:10
Hmm hai ragione non ci avevo pensato.

Esisterebbero casi in cui una NullRegion debba estendersi?

No, direi proprio di no.

thebol
07-04-2008, 13:05
un buon motivo per nn fare le Region 0x0:

Region contiene un Rectange

il costruttore di rectangle è
public Rectangle(int left, int top, int width, int height)

e il metodo getRight è implementato così:

public int getRight()
{
return width + left - 1;
}


con left 1 e width 0, right risulta 0 :(

o si rivede anche rectangle, oppure io lascerei stare questo refactoring..

Bonfo
07-04-2008, 14:10
un buon motivo per nn fare le Region 0x0:

Region contiene un Rectange

il costruttore di rectangle è
public Rectangle(int left, int top, int width, int height)

e il metodo getRight è implementato così:

public int getRight()
{
return width + left - 1;
}


con left 1 e width 0, right risulta 0 :(

o si rivede anche rectangle, oppure io lascerei stare questo refactoring..

Appunto, un a bella NullRegion siamo tutti felici ;)

thebol
07-04-2008, 14:21
Appunto, un a bella NullRegion siamo tutti felici ;)

Region è modificabile, nn ze po.

Bonfo
07-04-2008, 15:03
Region è modificabile, nn ze po.

Azz...allora mi sono perso un passaggio.
Dò un occhio al codice ;)

jappilas
10-04-2008, 17:12
come da titolo
ci sarebbe m.distrutti interessato e volonteroso di imparare, lo troviamo un momento ( e soprattutto un refactoring semplice semplice) per introdurlo al TDD? :)

m.distrutti
10-04-2008, 18:13
come da titolo
ci sarebbe m.distrutti interessato e volonteroso di imparare, lo troviamo un momento ( e soprattutto un refactoring semplice semplice) per introdurlo al TDD? :)

ti ringrazio per la spiegazione ihih, dopo appena torno dall'ufficio riguardo la code; cmq non vi preoccupate, se in questo momento da come ho capito ha più priorita rivedere il codice attuale aspetto volentieri :)

PS: chiamatemi pure Kayne (per non stare a scrivere m.distrutti ogni volta :) ) in web che e' il mio vero nick, qui su HWUpgrade ho sbagliato ghgh

oppure marco come preferite :P

Bonfo
14-04-2008, 08:42
C'è nessunooooooo!?!?!?!

Ok, ok. Io sono il primo della lista di quelli che è ormai...un mese :( ... che non fa una mazza. :muro:
Ma siamo già rispariti tutti?! o è solo la code complete di Fek che ci mette in crisi?

Probabilmente avere un po' di task aiuterebbe :P

fek
14-04-2008, 09:34
C'è nessunooooooo!?!?!?!

Ok, ok. Io sono il primo della lista di quelli che è ormai...un mese :( ... che non fa una mazza. :muro:
Ma siamo già rispariti tutti?! o è solo la code complete di Fek che ci mette in crisi?

Probabilmente avere un po' di task aiuterebbe :P

Io ho (quasi) finito col code complete e posso ricominciare, ma non mi piace il fatto che se non vi sprono ogni ora nessuno fa nulla... L'ultimo commit e' di nove giorni fa.
Comunque, dalla settimana prossima ricominciamo con qualche task.

redcloud
14-04-2008, 20:13
Spronate anche me che sono fresco di sban (ore 18:00) :D

Ufo13
20-04-2008, 17:15
Io son tornato ieri sera dopo 8 giorni in Scandinavia :)
Avrei dovuto avvertire sul forum :P

Da stasera riprendo in mano il codice