From: Norbert N. <Nor...@gm...> - 2005-01-27 18:43:04
|
Hi there, just been working with tables a bit. The methods of the Table class and the parameters they take (especially the naming) utterly confuse me. Some examples: * as I understand it, modifyRows and modifyColumns do nearly the same thing, except that the latter variant gives the additional flexibility of modifying only certain rows. Why not drop the first variant and rename the latter to .modify(...) ? * the parameter names modifyRows(rows=...) and modifyColumns(columns=...) are badly confusing. The name 'data' for this parameter would be much more intuitive * why is the parameter of read() called 'field' - I think we are talking of columns. * If modifyColumns() allows to select an arbitrary number of columns, why is read() restricted to all or one? Hopefully, the parameters read(field=...) and modifyColumns(names=...) should be unified and given the same semantics. * why does one single routine 'read' support both start,stop,step and coords, while iterrators do need two different names for that? * all the routines addressing rows take some (seemingly) arbitrary subset of {start, stop, step, coords, sequence, condition}. Intuitively, I would expect a set of routines to read, modify, remove and iterate that take the same uniform addressing with the same semantics. It is really irritating if you first think you could use some addressing and then realize that, for some unknown reason, 'remove' does not support step= I could probably go on like this, but I think I'll better stop here. There certainly are good reasons for some of the points I mentioned, but I guess, other newbies would wonder about exactly the same points, so it might yet be worth reconsidering them. Ciao, Norbert -- _________________________________________Norbert Nemec Bernhardstr. 2 ... D-93053 Regensburg Tel: 0941 - 2009638 ... Mobil: 0179 - 7475199 eMail: <No...@Ne...> |