On 11/23/2015 4:22 PM, Puppet_Sock wrote:
> So, some time ago (grumble mumble years...) I read John Lakos
> _Large Scale C++_. The only thing is, it was mumble years ago,
> [snip]
> And, along the way, any suggestions on sources of good advice
> on writing very large C++ programs would be gladly accepted.
Perhaps the most important thing to note is that a large scale system is
a team effort.
So it's very much about leading a team and dealing with economy and
politics.
* * *
That said, since you mention Lakos, Lakos' external include guards never
did become mainstream, and I suggest you avoid them. Even ordinary
internal include guards can be problematic. I suggest using now de facto
standard "#pragma once".
For this and some other like issues you need clear project coding
guidelines.
You would probably not go very wrong in adopting the coding guidelines
book by Alexandrescu and Sutter, perhaps with some adjustments.
* * *
With a large scale project source files of the same name might yield
conflicting object code file names. So it can be an idea to replicate
the source folder structure for the object code files. This is not the
default for e.g. a Visual Studio project, and one has to configure it
using the folder path macros: there's no simple option for it.
Your project team may need a build server farm. Nowadays there are a
lots of systems for helping with performing builds. I don't know much
about it, except that I know I would have to look into that if I became
involved in some large scale development again.
You might assign one person to deal exclusively with tooling, including
build system.
* * *
You're probably aware that you need a source code control system. But
possibly it's not clear enough that you also need a defect handling
system, that supports bug reporting, assignment of responsibility,
follow-up, and so on. The only free one that I remember is Bugzilla,
it's possibly still around.
Anyway, you will probably need a web server for this, with a domain, and
someone to handle that side of things.
I doubt that Lakos reflected on that (disclaimer: I haven't read the
book) ;-)
Cheers & hth.,
- Alf