アメリカの誰もが聞いたことのある大学でCS MSプログラムに参加するための前提条件として、中間データ構造コースを受講しています。クラスで記述された1行のコードが私の目に留まりました。
if (a > 33 | b++ < 54) {...}
これは私の職場でのコードレビューに合格しません。インタビューでこのようなコードを書いた場合、これはあなたに対する重大なストライキとなるでしょう。(副作用のある条件付きであることに加えて、それは明快さを犠牲にして賢いです。)
実際、副作用のある条件式を見たことがなく、グーグルもあまり現れません。授業後も別の学生が留守にしていたので、変だと思ったのは私だけではありません。しかし、教授はこれが許容できるコードであること、そして彼がそのようなものを職場で書くことになることをかなり断固としていた。(彼のFTの仕事は、ご存知の会社のプリンシパルSWEです。)
このコード行が受け入れられる世界は想像できませんが、望ましいことは言うまでもありません。私が間違っている?これでよろしいですか?より一般的なケースはどうですか?副作用のある条件付き?それらは大丈夫ですか?