I don't understand your argument though. What have first principles to do with coding, or coding standards?
Someone like Damian Conway has derived each of his 256 best practices in PBP
"from first principles". In the interests of development speed, I don't want
each member of my team to similarly repeat his research and analysis.
Regarding development speed, the places where a good coding standard has the
potential to help is in areas (often "cross-cutting concerns") that are common to many projects.
- Should I use C++ boost shared pointer or write my own "from first principles"?
- Error handling.
- Memory management.
- Concurrency and locking.
- Thread-safety and reentrancy.
- Portability. I need a cross-platform mutex. How well do C++ templates work on HP-UX? I need file locking or threading that works on both Unix and Windows.
- Libraries. For C++, should I use boost or write my own?
- Documentation. Should I document my C++ code with doxygen or something else? PBP 7.2: "Create standard POD templates for modules and applications".
- Internationalization and Localization.
- Which of these three similar CPAN modules should I use?
- Unit testing. Should I use CppUnit or CxxTest or write my own unit test framework?
- Code review checklists.
- Build and release engineering. e.g. revision control, makefiles, ...
- How do I make a customer patch?