
On 25 Feb 2014 at 9:01, Tejas Nikumbh wrote:
wanted to show you some Data Structure implementations that I've done, and know whether they are upto the standards that Boost expects. If not, I'm ready to do a simple DS or Code Demonstration(relevant to the project) before GSoC as per the guidelines provided. I'll include this point in the new thread as well.
Please check this and let me know your views. [ I've linked to only two DS as I guess you would be busy to go over everything, but there are other DS in the repository as well.]
https://github.com/tejasnikumbh/Datastructures/tree/master/Vector https://github.com/tejasnikumbh/Datastructures/tree/master/Stack
Well it definitely won't be me mentoring here, so anything I am about to say is personal opinion only and any mentor you may have may have very different views. So do bear that in mind. From a very cursory inspection: * Lack of Boost coding conventions. * Lack of STL idiom usage e.g. iterators, allocators. * Lack comprehensive documentation. * Lack of full unit test and functional testing. * Lack of exception safety guarantees or indeed exception safety. * Lack of worst case/average case complexity guarantees per API. * Lack of C++11 anything. * Implementation algorithms are distinctly suboptimal and show a lack of understanding of the C++ type system. Now don't take such criticism too hard - your code is actually above average for a typical compsci graduate, so you've actually done well relative to your peers. But you need to consider this: for me, a reasonably experienced programmer, to implement a Boost quality std::vector<> I would estimate at least 120 hours of my time. And I'm extremely productive when compared to a university student, and that 120 hours is probably me even still being overconfident in myself. Quality C++ really is *that* hard. More than half your effort goes on writing testing and documentation. Don't let this put you off a GSoC. Rather, let it convince you how valuable a GSoC would be to you. In one summer my student Paul last year went from a slightly above average graduate programmer ability to someone capable of putting professional software programmers to shame. In fact, he'll even be presenting at this year's C++ Now conference after he successfully passed conference peer review, and I think he'll do splendidly. Niall --- Boost C++ Libraries Google Summer of Code 2014 admin https://svn.boost.org/trac/boost/wiki/SoC2014