About trials, spikes, samples, prototypes and clean code
A DevTree folder structure for separating experimental trials, spikes, samples, prototypes, and clean production code according to their purpose and maturity.
Writing clean code is only possible if you are known with the uses technology. Often during a development process this level must initially be reached.
To distinguish the levels of understanding I guess separate folders under the DevTree:
src.trialshere is very unclean code. This code outcomes during learning steps in project-context. Normally sooner or later this code is deleted or cleaned and moved to production, prototype or sample code.src.spikealso unclean code but with an other flavor compared to trial-code: its not primary learning something, the focus is the verification whether a problem-resolving-direction is the right one. Often one problem has a lot of different ways to solve it – but what is the best way?. It is similar to tracer bullet coding. A bunch of spikes could form a prototype.src.samplesdemos which shows a technique or usage of component which are only relevant for this project. Global samples have an own project-place. Sometimes project-samples are ennobled to become global samples.src.prototypecode that forms whole parts of the application or the application themselves. Sometimes also a brownfield project which must be refactored or turned inside out.srcproductive code as clean code – without green and gray code. This is the quality summit – that’s the result a client is paying for!