Very disappointing not to see an #if 0 (my personal go-to for decades) in this meme. 😞
62 1 ReplyDamn, you beat me to it.
It's common enough that it's supported like a comment by numerous syntax highlighting schemes, and has the added benefits of guaranteeing that the code won't be compiled as well as encapsulating any pre-existing block comments. Conversely, if (false) is total garbage.
26 1 ReplyIf (false) is good because it is compiled so it doesn't get stale.
15 1 Reply
beat me to it too, it's a meme of course but the advantage compared to comments is thay you get syntax highlighting 😁
6 3 ReplyMy linter always skips preprocessors not set to build, in c# at least, greys it all out unfortunately
2 0 Reply
this is what I'm doing too, so at least it's not compiled and better than a /* */ as you can keep all the code intact in your #if 0
2 0 Reply
I was going through some js code a few months ago and every function in a module had
return;
as its first line. And that module was imported into 4 or 5 scripts.48 0 ReplyYou folks have clearly not met first year CS students. Screenshots code
23 0 Replylaughing in
#if 0
:#include int main() { #if 0 std::cout << "Look at this" << std::endl; #else std::cout << "ugly abomination." << std::endl; #endif }
24 4 ReplyIf you're in a language that supports it, please don't use
if (false)
useif ($disallowAllUsers = false && $whateverTheRealConditionIs)
11 2 ReplyNever seen this, what language or buildsystem is this?
6 0 ReplyThat specific language is PHP, but the tip is applicable in any language that supports inline assignment.
3 0 Reply
The assignment syntax is too close to comparison, which is what is more typical in that position. I would recommend
const bool _isFeatureEnabled = false; if (_isFeatureEnabled && ...)
if not a proper feature flag (or just remove the code).
1 0 ReplyIt seems much worse to use a setter in an if statement.
1 2 ReplyThink of it as inline attribution/documentation.
1 1 Reply
bonus points if you use a different variable every file so they have to go through and change every instance if they want to make changes
8 0 Reply[Ctrl-V]69jI// [Esc]
5 0 Replygc69j
4 0 Reply
I don't see the need for an if block or renaming the function and leaving it there. It is extra unnecessary work for the compiler. Comments are probably the best way. Might also copy the current file, put the original in some folder like "old", and delete the old code inside the new copy.
4 0 ReplyComments are the worst as they are ignored by refactoring. That's the reason if (false) is actually really good for temporarily disabled code.
9 0 ReplyI never thought of that. That's quite smart!
1 0 Reply
On a modern computer dead code analysis with constant folding should be nearly unnoticeable when compiling a large project
3 0 Reply
what about relying on the persistent undo history in vim?
2 0 Replyuses a test only variable instead of If False so that unit tests still run for it.
Then quits so maintenance of the old code becomes someone else's problem.
1 0 ReplyIn Python you put it in a multiline string, since it has those but not multiline comments.
1 0 ReplyI wonder if compilers even bother writing machine code for something contained within if(false){
1 1 Reply