←back to thread

327 points AareyBaba | 1 comments | | HN request time: 0.195s | source
Show context
time4tea ◴[] No.46184345[source]
a = a; // misra

Actual code i have seen with my own eyes. (Not in F-35 code)

Its a way to avoid removing an unused parameter from a method. Unused parameters are disallowed, but this is fine?

I am sceptical that these coding standards make for good code!

replies(11): >>46184442 #>>46184460 #>>46184571 #>>46185232 #>>46185373 #>>46186276 #>>46186377 #>>46186457 #>>46186510 #>>46186705 #>>46189488 #
ivanjermakov ◴[] No.46184571[source]
Zig makes it explicit with

    _ = a;
And you would encounter it quite often because unused variable is a compilation error: https://github.com/ziglang/zig/issues/335
replies(2): >>46185933 #>>46185991 #
ErroneousBosh ◴[] No.46185933[source]
Golang is exactly the same.

It's extremely annoying until it's suddenly very useful and has prevented you doing something unintended.

replies(2): >>46186034 #>>46186865 #
bluecalm ◴[] No.46186034[source]
I fail to see how a warning doesn't achieve the same thing while allowing you to iterate faster. Unless you're working with barbarians who commit code that complies with warnings to your repo and there is 0 discipline to stop them.
replies(3): >>46188913 #>>46189743 #>>46191081 #
FieryMechanic ◴[] No.46191081[source]
> I fail to see how a warning doesn't achieve the same thing while allowing you to iterate faster.

In almost every code base I have worked with where warnings weren't compile errors, there were hundreds of warnings. Therefore it just best to set all warnings as errors and force people to correct them.

> Unless you're working with barbarians who commit code that complies with warnings to your repo and there is 0 discipline to stop them.

I work with a colleague that doesn't compile/run the code before putting up a MR. I informed my manager who did nothing about it after he did it several times (this was after I personally told him he needed to do it and it was unacceptable).

This BTW this happens more often than you would expect. I have read PRs and had to reject them because I read the code and they wouldn't have worked, so I know the person had never actually run the code.

I am quite a tidy programmers, but it difficult for people even to write commit messages that aren't just "fixed bugs".

replies(2): >>46196921 #>>46203407 #
account42 ◴[] No.46203407[source]
The trick is to have warnings fail CI but not local builds.

> I work with a colleague that doesn't compile/run the code before putting up a MR.

Then erroring on unused variables will not help you anyway.

Anyway, all your issues sound like management problems. Not all projects are run that badly.

replies(1): >>46203472 #
1. FieryMechanic ◴[] No.46203472[source]
> The trick is to have warnings fail CI but not local builds

Which is annoying because the CI pipeline can take like 10 minutes to do the build and then you need to re-commit after turning the warnings on locally.

There are other issue like your code compiles differently in CI vs on your machine, which brings it own issues. Ignored warnings can cause other pieces to fail compilation or execution in other project/libraries. I had this happen in C# and VB.NET.

It is best just to turn on all warnings and errors and be done with it.

I've never heard particularly good reasons for not having it turned on all the time and that includes those mentioned in this thread.

> Then erroring on unused variables will not help you anyway.

The point I am trying to convey, which was a direct response to something the parent said:

"barbarians who commit code that complies with warnings"

IME it is very common for people to just straight up ignore warnings, and issues and sometimes they won't even check the thing compiles. I've worked as a contractor at a number of companies both large and small and this has been a constant.

> Anyway, all your issues sound like management problems. Not all projects are run that badly.

Again the point I was trying to convey is the expectations people have on here are far higher than what some of us have to deal with on a daily basis. So you have to put in loads of automated checks that I don't have to bother with when working with competent people.