3 ms·
What is "Professional" Code?
In your experience (or opinion), what are the differences between so-called professional code and code as a hobby?
I'm thinking of what actual code looks like in this case, rather than the overall result of a software system.
Personally, I'd venture that code that becomes part of shipping or bespoke products can often be highly constrained by compatibility with older products, and maintainability requirements for programmers who may be rotated in and out of roles with some frequency.
Can these restrictions make code better, or do they typically make it worse?
- tjr 19y agoAs I've mentioned here before, I've done work on avionics software, which probably has some of the strictest development constraints you'll find. Generally, these constraints include some things that we'd probably all agree are good: consistent naming conventions, for example. But these constraints also encourage very simplistic coding, such as, no recursion. Code that follows the constraints tends to be extremely procedural, and tries to avoid complexities of the language. This is for the purpose of verifying that the code really will do what we claim it will. If someone, say, messed up at recursion, it could exhaust too much memory and the box could die. The result is very robust, but it lacks character. It's rarely beautiful and elegant. But we are about as sure as we can be that it works. [That is not to say that recursive, elegant code does not work, just that, it's harder for a team of hot-swappable software verifiers, potentially just out of college, to match the code up with the requirements, or to ensure that non-obvious code is correct.]