I am thinking of a list that I could refer other developers to with things like:
Anybody have such a list? In priority order?
UPDATE - added some fyi detail
System in question consists of C++ and makefiles, Java with ant that results in WARs, as well as powerbuilder and C# gui components. All code is in perforce.
So I am looking for both generic as well as language specific best practices.
To me, the #1 rule is this:
The main branch is sacred - it must always be buildable, capable of passing BVT's, and be basically usable.
Any code that is allowed to go into the main branch that causes a build or BVT break exposes a bug in the process. The process should allow buddy builds/tests for single branch systems, or require child branches to build and pass BVT's before mergining into the main branch, or other such safeguards.
Take a look at High-level Best Practices in Software Configuration Management.
This is highly dependent on what environment are you building in?
Each of these differ in approach and setup. So we need to know your setup before you can be helped.
My number one item:
or, as Jeff puts is: Check In Early, Check In Often.
The system must build by itself, test by itself, and download+build dependencies by itself. I have a makefile downloading, building and deploying a runtime environment which is "certified" for my trunk version. This makefile is committed as well into the repository.
Remember to commit another, very important, and mostly overlooked thing (comes in a bundle of three):
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With