On Tue, 08 Aug 2000, Brandon wrote: > > I'm sorry Brandon, but I have to agree with Scott on this point. The code in > > the clients was unmodular and linear before, but the only thing that > > pulling it > > apart and leaving the code in a dozen different methods scattered throughout > > the classes in no logical order (and with zero javadocs, and what does not > > seem > > like a planned interface) calling eachother left and right did was turn it > > into > > unmodular spaghetti. > > The methods aren't calling each other left and right. They are discreet > code blocks and the methods are layered. It is true that they could be > ordered more clearly, but that's not really a big deal. I can do that > tonight.
There is no easy to follow main thread of execution, instead you have one method calling the next calling another. That is why things like trying re-enter on bad data or even trying to get ahold of the message id after 3 jumps between differnet methods becomes so difficult. I have nothing against functional coding, but a function should represent a mathematical map of input -> output. Just splitting the chunks of code into a hundred public methods will only make life hell for people trying to use this. Please do not rearrange the methods until I have comitted as it will cause massive collisions with the code I have changed. > > If we want the code to be useable as client library, then we need to > > carefully > > consider what interface we want for the people accessing the client objects. > > Ian's recommendation that we javadoc first, implement second, could not be > > more > > correct in this case. > > That wasn't an option in this case since I was restructuring existing code > based on its already existing implicit structure (meaning I made methods > out of the chunks of code that should logically be methods). I'm not > calling this a finished product. It's an intermediate stage in the > reworking. I still think it's much better than the previous monolithic > client. At least now the code which is shared between InsertClient and > RequestClient is taken out and put into Client instead of being repeated > (with random variation) in both classes. It's been two months Brandon... > > > > > _______________________________________________ > Freenet-dev mailing list > Freenet-dev at lists.sourceforge.net > http://lists.sourceforge.net/mailman/listinfo/freenet-dev -- \oskar _______________________________________________ Freenet-dev mailing list Freenet-dev at lists.sourceforge.net http://lists.sourceforge.net/mailman/listinfo/freenet-dev
