3 ms·
> if it doesn't [give you an error], then it's style or preference > That said, you can never have a perfect system that takes care of everything such that re
by the_jeremy 5y ago
> if it doesn't [give you an error], then it's style or preference
> That said, you can never have a perfect system that takes care of everything such that reviews aren't necessary
You refute your own point. Reviews are necessary, and you can critique engineering, and you need to go beyond "it either works or it doesn't". You spend half your comment making a bold claim and the other half backing off.
- proc0 5y agoMy main point is reviews are not really critiques like in art. There is a huge difference, art doesn't get compiled by a machine. At the end of the day, your customer doesn't care that you didn't refactor such and such variable. It either works or it doesn't. The last observation was just pointing out we are not there yet technologically, but we're definitely approaching it. Humans are only needed now because of lack of automation, not because the code really needs another human perspective. The human perspective for software comes at the very end, as the end user's feedback, but that's after PR merged.
- ironmagma 5y agoEven “works” is not binary. Take for example this air disaster where the door closed but did not properly seal (even though it worked fine on most flights) and later opened mid-flight killing several people. The design was defended and any concerns about its functioning were dismissed until another plane had the door open on its own volition while on the ground. [1] https://en.wikipedia.org/wiki/United_Airlines_Flight_811 https://en.wikipedia.org/wiki/United_Airlines_Flight_811
- proc0 5y agoI'm failing to see how it disproves my point. If anything this was human error, perhaps something that now is completely automated and tested by machine simulations. Machines are not "perfect" (for lack of a better word), however computers are designed to compute information, and the computation of information ultimately becomes the functionality. I'm saying here that humans aren't as good as machines at interpreting information (that is then computed by the machine) as the machines themselves. We only use humans where we really have to just because the technology and/or resources has not allowed it yet.
- ironmagma 5y agoYes, in the sense that all engineering design errors are human error. This is why we have critiques. Maybe something appears to work (i.e. doesn't give an error, or serves thousands of flights successfully), but that does not mean no changes are necessary. There are latent bugs that can pop up at any moment. Tests (including user testing) are guardrails; no one should be driving to their destination just by banging into the guardrails and letting that guide them. Not least because that's not what guardrails are for, but also because there are guardrails everywhere and they don't actually guide you in any particular direction.
- proc0 5y ago> Yes, in the sense that all engineering design errors are human error. This is why we have critiques. I'll agree to disagree... this is the reason we have automated tests, not why we have critiques. If you plot the quantity of human intervention in software development over time, I believe we will clearly see machines taking over in due time.
- ironmagma 5y agoYou need both. The kind and amount of wrong that a human can spot is very different from the kind and amount of wrong that automated tests pick up. Just like a guardrail isn't going to tell you you're going the wrong way on the highway, or that you got off at the wrong exit.