Re: [boost] [Review:Algorithms] My review

Also late! My apologies. On Mon, 03 Oct 2011 00:46 Phil Endecott wrote:
implementation. Furthermore, the amount of discussion of a proposal seems to be in inverse proportion to its complexity! To avoid getting
...which probably tells us more about the number of people who take the time to fully understand more complex submissions than it does about anything else...
bogged down in endless discussions of trivia we should set a lower bound on the complexity of submissions, and these functions are below that threshold.
I disagree... these algorithms are certainly trivial, but also frequently used by most programmers. A high-quality implementation has the potential to eliminate (well, reduce) the need for every C++ programmer to maintain medium-quality versions in a personal toolkit, saving a tremendous number of aggregate man-hours (initial development, maintenance, and reading others' versions as a possible source of defects in unfamiliar code) worldwide. Note that the original submission has already been substantially improved based on reviewer feedback--- how many of the tens of thousands of one-off versions out there have the same issues, or worse? Anyway, my own review:
* What is your evaluation of the design?
Overall design is fine--- these algorithms are simple and should be kept so. Like several other reviewers, I believe some of the function and header names are suboptimal (increasing() should be nondecreasing(), any.hpp should be any_of.hpp, etc.), and as much as I abhor a boat shed argument I do honestly believe that they be reevaluated before release. There does seem to be a lot of redundant code that could be refactored out of the individual search algorithms, but that's an internal issue.
* What is your evaluation of the implementation?
Adequate. I filed several issues on GitHub, and others contributed more. Marshall has been extremely responsive, and I think it's clear that the library will be top-notch before release.
* What is your evaluation of the documentation?
Incomplete, but what library is in version 1? Certainly adequate for release.
* What is your evaluation of the potential usefulness of the library?
Quite. Actually, I think the search algorithms are hindered a bit in this respect by their documentation (strengths and weaknesses in given situations, which to use, caveats, etc.), but that's been beaten to death here and on GitHub and is already being remedied by Marshall.
* Did you try to use the library? With what compiler? Did you have any problems?
No.
* How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
I carefully read the code and skimmed the docs, and logged my detailed comments as GitHub issues (almost all of which have already been addressed.)
* Are you knowledgeable about the problem domain?
Fairly, although I'm not sure I'd ever seen the BMH search before. In summary, I think Algorithms should certainly be accepted, and like Phil and many other reviewers I think it's a good framework for other small submissions that would be useful to the community at large but don't justify a separate library.
participants (1)
-
Brent Spillner