2018年5月22日火曜日

「Method '***' is too complex to analyze by data flow algorithm」

こんにちは。

久しぶりの更新です。

一通りコーディングが終わると、Android Studioのメニューの「Analyze」ー「Inspect Code」で、コードをチェックしています。

色々、チェックに引っかかった項目が出てくるのですが、初めて以下の項目が出ました。

「Method '***' is too complex to analyze by data flow algorithm」

'***'の部分は関数名です。

関数が複雑すぎると言われているみたいですが、しばらく原因が分からず放置していましたが、ようやく判明しました。

私の場合は、関数の行数が長すぎたようです。該当関数を二つに分けたところ、解消しました。


そもそも、関数は、コードの見やすさの観点からある程度の長さ以内になるようにしています。

ところが、この関数はエラー処理を後から何度も追加していったところ、長くなってしまいました。(コメント行を含め、238行もありました。)

複雑なアルゴリズムを組んでも、同じ警告が出るのかもしれませんが、行数が長くて警告する場合は、そう警告してもらいたいものです。

以上です。