At 6 minutes ago, milchreis wrote:
Huh? No, I didn't.
You didn't explicitly state the words "you are wrong", but you did offer a dissenting opinion.
I claimed that the rewrite was more complex which you stated was "a matter of opinion".
In other words, I made a claim of objectivity, which you stated was, in direct contrast, subjective. This is where I drew the conclusion that you were claiming I was "wrong".
At 6 minutes ago, milchreis wrote:
The quote was not an argument for any way to code, because it asked for an explanation, which could possibly be subjective, yet legit.
I do agree that any given explanation for a design decision is going to contain subjectivity, it's human nature. And in some instances there can be no truly objective explanation (such as using an insertion sort algorithm over a selection sort when efficiency is irrelevant).
However the point behind the quote is still there, but will be missed if it is taken at face value. Every design decision that one makes in their application should have a reason for its existence. If said reason cannot be easily conveyed then it is, more likely than not, being over-complicated or misunderstood and as a result is hindering efficiency.
Even something as intricate as applications utilising networking and threading should have an easily explainable reasoning to their design decisions.
Hell, even the usage of something as esoteric as the volatile keyword (not found in ActionScript, of course) can very easily be explained. If one could not easily explain why they chose to use volatile then they probably don't understand what it does, and as a result have produced a flawed design.
At 6 minutes ago, milchreis wrote:
Over exaggerating "I like it that way" was supposed to make that clear, apparently it didn't.
I may have missed your point there, but I was merely stating that anyone who would use that as an explanation for a design decision is an "abhorrent programmer".
At 6 minutes ago, milchreis wrote:
But you came to the same conclusion:
If using the min() and max() function calls is more intuitive to you then that is your justification for doing so, which is very easily explainable, making the design not flawed.
That was regarding this specific example.
At 6 minutes ago, milchreis wrote:
If something is more intuitive, it is less complex.
That would require intuitiveness to be objective, which you have claimed, and I agree with, is subjective.
At 6 minutes ago, milchreis wrote:
Intuition and complexity are quite subjective I guess
Intuitiveness is subjective (to a certain degree*), yes. The more one understands a subject matter the more intuitive anything regarding that subject matter will become.
But, again, complexity is very much objective.
If you draw a square on a piece of paper, and I draw an octagon, I have objectively drawn a more complex shape. There is no subjectivity to it. It involves more line segments, ergo it is more complex.
The code posted by Sandremss128 involves function calls not found in Jin's code while involving the same number of other arguments, ergo it is more complex.
Where are you finding subjectivity in this? I truly do not understand.
* I say that it is "to a certain degree" because there comes a point where something is so unintuitive that to claim otherwise is arrogant and condescending. Quantum physics, for example, is by no stretch of an imagination intuitive. Anyone who would claim otherwise is only being smug.
Even something as simple as the Monty Hall problem is very unintuitive, and would only be smug to claim otherwise.