If I don’t have the skills to fix a codebase, I’m pretty handicapped in assessing it. I might still manage to spot some bad things, but I’m in no shape to pronounce it good, or “not that bad”.
Clarification: I am not a coder any more. I had skill in a few languages but I can’t code any more mostly I Frankenstein my own arduino projects out of other people’s projects. This means I can now read code and understand it; but not write it. It’s not that bad because I read every line of the codebase to get my head around how it works. It’s not that bad because when I was trying to explain a fix I could come up with the code for it:
I just can’t check my work or create a pull request.
It’s not that bad in that it still definitely works fine, and does not crash very often and doesn’t have security leaks despite having an open code base and is readable to someone with very little code skill.
For a person familiar with Python, reading most of the code, and even suggesting changes is relatively easy. It’s just running the whole code on their own computer that is almost impossible.
But that means that when you write the code, you can’t see it in action, which means you can’t test it, which means that if you made a trivial error, you cannot find it and fix it. You can’t debug your code, you can’t print the intermediate values; you get zero feedback for what you did. Which means that the contribution is practically useless… unless someone else who can run the whole code on their computer will look at your code and finish it. If you need multiple iterations of this, then a work that would be otherwise done in an afternoon may take weeks. That’s inconvenience far beyond trivial.
I don’t think you can say both
and
If I don’t have the skills to fix a codebase, I’m pretty handicapped in assessing it. I might still manage to spot some bad things, but I’m in no shape to pronounce it good, or “not that bad”.
Clarification: I am not a coder any more. I had skill in a few languages but I can’t code any more mostly I Frankenstein my own arduino projects out of other people’s projects. This means I can now read code and understand it; but not write it. It’s not that bad because I read every line of the codebase to get my head around how it works. It’s not that bad because when I was trying to explain a fix I could come up with the code for it:
https://github.com/tricycle/lesswrong/issues/574
I just can’t check my work or create a pull request.
It’s not that bad in that it still definitely works fine, and does not crash very often and doesn’t have security leaks despite having an open code base and is readable to someone with very little code skill.
For a person familiar with Python, reading most of the code, and even suggesting changes is relatively easy. It’s just running the whole code on their own computer that is almost impossible.
But that means that when you write the code, you can’t see it in action, which means you can’t test it, which means that if you made a trivial error, you cannot find it and fix it. You can’t debug your code, you can’t print the intermediate values; you get zero feedback for what you did. Which means that the contribution is practically useless… unless someone else who can run the whole code on their computer will look at your code and finish it. If you need multiple iterations of this, then a work that would be otherwise done in an afternoon may take weeks. That’s inconvenience far beyond trivial.