/ 最近 .rdf 追記 編集 設定 本棚

脳log[20140212]



2014年02月12日 (水) [SHJS] (「コードをなんとなく色付けするやつ - Weblog - Hail2u.net」経由で) functionだとか forだとか whileといった予約語よりも識別子、個々のアプリケーションを記述する豊かな語彙を目立たせ、区別しやすく色分けすべきではないか、と。「Coding in color — Medium」■以前には、どうせ色分けするなら代入と比較演算子の違い(= と ==)こそを際立たせるべきだろう、という記事を紹介した。「A case against syntax highlighting」■プログラムという文章を読むとき、識別子が文を構成する語にあたり、構文要素はノイズに過ぎない。識別子を目立たせるというのはいいアイディアだけどそれがなかなか行われないのは、識別子が予約語など定型のキーワードを除いたその他大勢でなかなか狙いを定められないからだろう。リンクした先の script.jsの get_unique()では識別子っぽくて(※日本語識別子は眼中になし)キーワードでないものをリストしてる。■自分の考え。C++だと型名(=コンパイラのための形式であって読みたいものではない)とその他の識別子の区別がほぼ不可能だろうなあとか考えて諦めてしまう。構造を造るキーワードを強調することにも意味がある。ビルトインの関数やクラスをリストして強調するのは、簡単なだけで意味のないことだと思ってる。Rubyは字面だけで定数であることや変数のスコープがわかるので実にやりやすい。などなどの理由から、構造(=予約語など。処理の流れを把握するため)と定数(=前提や環境であり頭から追い出してもよいもの)とリテラル(=定数の一種)とオブジェクト・レシーバ(=OOPの主役)と初期化・代入(=識別子の導入と紹介)の色分けを目標にしてる。残るのはほぼ変数名、関数名、メソッド名といった識別子になる。それ("leave most of the content in black")も識別子を目立たせる方法じゃないの?識別子と識別子を区別したいとは思わない。その結果はマーブル模様のサイケデリックなソースコードでしょう。識別子をクリックしたときに同名の識別子をハイライトするくらいがよいのでは?と考えるのは俺が活字中毒だからで、文字によってすでに明らかなものを色という一段劣る曖昧な手段で識別したいと考えないからかもしれない。