|
Boost : |
Subject: Re: [boost] GSoC 2014 Implementation of Algorithms for Boost.
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2014-02-27 02:06:49
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk