Last weekend for review of the Convert library
This is the last weekend of the the review of the Convert library, which started Monday May 12 and goes through Sunday May 25. For those who have been to C++ Now please take a look at the library and review it. I am looking for at least a half dozen reviews before I can decide, based on the reviews, whether or not the library should be accepted into Boost. The Convert library builds on the boost::lexical_cast original design and experience and takes those conversion/transformation-related ideas further. * to be applicable to a wider range of conversion-related use-cases, * to provide a more flexible, extendible and configurable type-conversion framework. The Convert library can be cloned from GitHub at https://github.com/yet-another-user/boost.convert. The library follows the modular-boost format. Just clone it to modular-boost/libs in the 'convert' subdirectory and run 'b2 headers' in order to create a link to its header file directory in the modular-boost/boost subdirectory. The library comes with documentation in its top-level index.html or doc/html/index.html file. You can also view the documentation online at http://yet-another-user.github.io/boost.convert/doc/html/index.html. The library is by Vladimir Batov and is a second reiteration with a greater focus of his library that was reviewed in the past. I am Edward Diener and I am again serving as the review manager of the library. If you have used lexical_cast or, like many C++ programmers, have used stringstream to do string-to-type, type-to-string conversions please look at this library. We need reviews of whatever point of view before a library can even be considered a Boost library. Comments, questions, and reviews will all be welcome for the library. Please try to sum up your review by answering these questions: What is your evaluation of the design? What is your evaluation of the implementation? What is your evaluation of the documentation? What is your evaluation of the potential usefulness of the library? Did you try to use the library? With what compiler? Did you have any problems? How much effort did you put into your evaluation? A glance? A quick reading? In-depth study? Are you knowledgeable about the problem domain? And finally: Do you think the library should be accepted as a Boost library? As always whether you do or do not feel that the library should be accepted into Boost please specify any changes you would like to see for the library to be better in your estimation.
Here is my review of the proposed convert library.
What is your evaluation of the design?
The design is fine. Other reviewers have commented on such things as the order of to-from parameters and potentially more overloads and the like. Such changes may possibly make the library more intuitive and easy to use. There is an important include file named "api.hpp". I consider this to be a non-intuitive name. Perhaps the naive user might simply be looking for a file named "convert.hpp". Perhaps this point is trivial. I would like to find "convert.hpp".
What is your evaluation of the implementation?
The code is refreshingly clean. There is a rather low density of source-level comments. I might expect a higher density of comments if any other authors ever need to work on the library. Another reviewer mentioned a mixture of tabs and spaces. It might be best to use one or the other spacing mechanism --- and use this spacing mechanism consistently. Some comments of the //-comment-type begin on the zero'th column, whereas some begin at indented locations. That is not clean. There is a rather high number of comments of the type TBD. These are good for noting future goals, but also lend an uneasy feeling about the stability of the code.
What is your evaluation of the documentation?
I think it is well-written, and I can use it. It might be useful to establish the range of application and the differences between convert and lexical_cast. In the very first code example, the variable "str" is not defined.
What is your evaluation of the potential usefulness of the library?
I believe that the library is quite useful. In particular, it can be used to convert to-and-from hexadecimal as well as decimal numbers. Maybe lexical_cast does this as well, but I never found that feature.
Did you try to use the library? With what compiler? Did you have any problems?
Yes, I used the library to perform some rudimentary conversions to and from integers and strings with both decimal as well as hexadecimal representations. I did not experience any problems with the code. I used VS2013 express edition.
How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
I took three runs at the code, the samples and the documentation. In the third run, I was able to easily complete my rudimentary conversions.
Are you knowledgeable about the problem domain?
Yes. I am competent in the area of conversions. And finally:
Do you think the library should be accepted as a Boost library?
Yes, I do. Some other reviewers were more critical and
suggested certain mandatory changes for acceptance.
I would like to be able to use the convert library as part of Boost.
Thanks to everyone.
Cheers, Chris.
On Saturday, May 24, 2014 5:44 PM, Edward Diener
participants (2)
-
Christopher Kormanyos
-
Edward Diener