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

You got lucky. And it still doesn't solve the problem of unused variables.

At the end of the day, it's a hair shirt. And no matter how many coping mechanisms people come up with, it's still a hair shirt.

Even the go authors had to put a limit on their madness. You'll notice that unused unexported functions don't cause compilation errors despite the fact that they, too, fall afoul of the original justification for this policy: https://golang.org/doc/faq#unused_variables_and_imports

"The presence of an unused variable may indicate a bug, while unused imports just slow down compilation, an effect that can become substantial as a program accumulates code and programmers over time. For these reasons, Go refuses to compile programs with unused variables or imports, trading short-term convenience for long-term build speed and program clarity."

But disallowing unused functions would have been a bridge too far, so we're left with this half-measure and half-reasoning that doesn't even make sense.



> But disallowing unused functions would have been a bridge too far, so we're left with this half-measure and half-reasoning that doesn't even make sense.

how would you find an unused function?


The same way you detect unused variables: Look for accesses, and if nothing accesses the function, it's unused.

Note that I'm talking about non-exported functions (i.e. someFunction rather than SomeFunction).


while a pain, for unused variables, if it comes up, right under the declared variable, just add the line: _ = myVar. Bingo, now it is used. Gross, but works.




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

Search: