snuffkinの遊び場

IT関係、スポーツ、数学等に関することを、気が向いたときに書いてます。

if条件に固定値true/falseを使用している箇所を検出

あまりないと思いますが、大昔にソースレビューで見つけて、怒りが湧いたときのことを思い出して作ってみました。当時はlog4jもなく、UT用にデバッグモードとIT用のデバッグモードをif(true)/if(false)で切り替えていた不届き者がいて困りました…

    /**
     * @when
     *   ctIf.condition = true
     */
    public void foundTrue(CtIf ctIf,
                          Messager messager) {
        messager.warn(ctIf,
                      "if条件に固定値trueを使用しています。");
    }

↓こんなコードを地獄行きにできます。

        if (true) {
            ...
        }