Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Are unused variables really compiler errors in Go? That does seem very harsh, and very counter productive while developing. -Werror is all well and good, but while I’m in the middle of writing the code, it’s a bit much.


The theory is that given enough code, any antipattern that compiles will make its way into real use, and therefore the only way to make people stop using an antipattern is to refuse to compile it. Go trades inconvenience in the short term for removing an entire class of bugs and raising the readability floor of bad code.


That's an insane approach, eslint solves this just fine and is fully configurable for almost any style preference.


All Go code everywhere never has unused variables, never has unused imports, and is formatted similarly. But, when you're debugging a function, you can't leave unused variables or imports lying around.

It's a tradeoff. I don't think either side of the tradeoff is insane.


You can do underscore import and local variable to workaround this limitation and I have seen that in the code.


Sounds like a good argument for a --relax-im-just-trying-something flag for the go compiler, and taint the resulting code with it so if anyone else tries to use the code without the same flag, then the compiler/linker will complain.


They were, last time I looked. Which was admittedly a while ago.


Even worse if you include something that isn't used, that's also a fatal error.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: