かっこの話

例えばif文やfor文の括弧。
 (1)『if (Hoge)』
 (2)『if( Hoge )』
視覚的な効果でいうと、(1)は命令文が見やすくなり、(2)は内容が見やすくなる。
見やすくというよりは見分けやすくだろうか。


エディタが白黒の頃であれば(1)は有効だった。
「if」と「Hoge」は同じ色で表現されるため、
まず言語のもつ命令文や、自作のクラスやメソッドがなんであるかを見分けられることは
プログラムを理解する上では、とっかかりが楽になる効果が期待できた。
しかし、エディタがカラフルになった昨今。
言語のもつ命令文は色分けされるようになった。
括弧と色が違う文字である命令文はくっついていようが離れていようが識別がたやすくなったのである。
ここに「if」と「Hoge」に明示的な差ができたのである。
OOPであればまだある。
状態判定用のメソッドを持つ場合や、equalsメソッドを使用する場合など、
括弧内が基本データ型だけではない状況が増えた。
例題では判断材料が足りない状況が出来たのである。
equalsで例題を作り直してみる。
 (10)『if (Hoge.equals(Hage.toString()))』
 (20)『if( Hoge.equals( Hage.toString() ) )』
構文を把握するために必要な時間を考えたときに、少なくて済むのはどちらだろう?
「if」の発見、「Hoge」の存在を発見、「Hage」との区別、括弧数の個数チェック・・・・・などなど。
それらのチェックポイントを設けてシュミレーションを行えば答えはでるだろう。