| ▲ | lmm 5 hours ago | |||||||
On the contrary, code is a spec. In a decent language it should look like one. | ||||||||
| ▲ | onion2k 4 hours ago | parent [-] | |||||||
Code is a specific implementation of a spec. You can even use it as a spec if you're happy to accept exactly what the code does. But the code doesn't tell you what was supposed to be built so the code is not a spec. Simple thought experiment: Imagine you have a spec and some code that implements it. You check it, and find that a requirement in the spec was missed. Obviously that code is not the spec; the spec is the spec. But also you couldn't even use the code as a spec because it was wrong. Now remove the spec. Is the code a spec for what was supposed to be built? No. A requirement was missed. Can you tell from just the code? Also no. You need a two separate sources that tell you what was meant to be written in case the either of them is wrong. That is usually a spec and the code. They could both be wrong, and often are, but that's a people problem. | ||||||||
| ||||||||