Author: William Swanson Date: To: libbitcoin Subject: [Libbitcoin] Reckless refactoring
Hello,
I have just spent the past several hours debugging my hd_keys code. I
have gotten to the point where the unit tests no longer segfault, but
have not yet gotten to the point where they return correct results.
There is still more debugging to do. I know I am not the only person
who has experienced broken code recently. In fact, this seems to be a
persistent theme recently, both on the mailing list and on IRC.
Look, refactoring is great. Refactoring is wonderful. But refactoring
*must* be accompanied by testing. Otherwise, how do we know if we have
actually accomplished anything useful? Please, please, please, can we
slow things down a bit and put more care and attention into what goes
into the codebase?
Now, with this being said, I really do like the direction things are
moving. The new hashing interfaces are much nicer from a libbitcoin
perspective. I just wish they had been unit-tested before they had
gone in, as is standard engineering practice.
I would also like to discuss the whole "utility/external" folder
thing. I am not entirely comfortable with grabbing source code from
other libraries. Do we really want to maintain this? It would be less
bad if these were just straight copies, but they are not. They have
been arbitrarily reformatted, to the point where we can no longer do
any sort of meaningful diff with upstream. In fact, it was this
reformatting that produced one of the segfaults in the first place.