[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

*To*: Tuomas Lukka <lukka@xxxxxxxxxx>*Subject*: Re: [zzdev] Proper abstractions*From*: Benjamin Fallenstein <b.fallenstein@xxxxxx>*Date*: Sun, 22 Oct 2000 21:23:43 +0200*Cc*: zzdev@xxxxxxxxxx*References*: <Pine.HPP.3.96.1001022020852.11505D-100000@xxxxxxxxxxxxxx>

Hi Tuomas-- I agree about abstractions, but the particular way you coded this one seems to be really clumsy to me -- a nameless inner class for each iteration. Why not use something like an enumeration, i.e.: ZZAlternator i = new ZZAlternator(...) for(i.start(accursed); i.more(); i.next()) { if(done.get(i.cell) != null) { i.stoppart(); continue; } if(i.distance() > rows) { i.stoppart(); continue; } col[i.steps() + cmain] = i.cell; } for(<every cell in col>) { for(i.start(<current col cell>); i.more(); i.next()) { // plac the cell } } Possibly we could even abstract out the recursion: ZZAlternator alter = new ZZAlternator(...); ZZDimRecursor rec = new ZZDimRecursor(dims, alter, ...); for(rec.start(accursed); rec.more(); rec.next()) { if(done.get(rec.cell) != null) { rec.stoppart(); continue; } if(rec.distance() > maxdepth) { rec.stoppart(); continue; } // (place cell) } - Benja Tuomas Lukka wrote: > > Whew, finding the proper abstraction can make things a LOT easier. > > One I just discovered is that going along a rank in two directions at > once (alternating), starting from a given cell is what made the vanishing > and row-column views so complicated. Abstracting this out to ZZIter made > such a difference (also of course separating rowcol from vanishing). > > Now, we can start thinking about bootstrapping in an easier way since we > have that abstraction... I'm thinking of starting to code views first in > terms of cells to gain some experience.

**Follow-Ups**:**Re: [zzdev] Proper abstractions***From:*Tuomas Lukka

**References**:**Proper abstractions***From:*Tuomas Lukka

- Prev by Date:
**Proper abstractions** - Next by Date:
**Re: [zzdev] Proper abstractions** - Previous by thread:
**Proper abstractions** - Next by thread:
**Re: [zzdev] Proper abstractions** - Index(es):