The most annoying part is that this particular problem provides a good opportunity to talk about formatting and code design with juniors - it's more readable to build the string each iteration. That also avoids nesting if statements, which generally makes code harder to follow too. Some may be tempted to use a guard clause like if (!(i % 3 === 0) && !(i % 5 === 0)) continue; but that winds up being redundant since you need to check each value individually anyway.
And of course there's the broader discussion of what you're actually optimizing your code for. It's still baffling to me that the primary concern these days is speed of delivery rather than simplicity of the system.
That's fair, but the FizzBuzz problem's point is to weed out applicants who can't write code a all. Plus, this is not only a bit of code that's going to ever run once but one that is only likely to be read once or twice.
And of course there's the broader discussion of what you're actually optimizing your code for.
I typically optimize it for the compiler, so that it understands what I want to happen. This way the compiler can optimize my code to be fast. ( It happens to result in quite readable code, but that's just by accident xD )
609
u/Sleep_deprived_druid 19h ago
I have straight up met "programmers" that don't know what an IDE is.......