GUIの命名規約

命名規約で命名規約について書いたけど、GUIに関しては少し状況が違うので、書くことに。


何が違うかというと、GUI部品があること。GUI部品といってもただの変数だけど、部品ごとにボタンであったり、テキストボックスであったり、リストであったり、ほかのGUI部品をのせるためのパネルだったりする。
この特徴により、GUI部品の名前は付けにくいものとなる。例えばOKボタンだと、ok・・・なんてしようか・・・。やっぱりボタンなんだし、ok_btnとでもしようか。でも、btnってのは型を表している*1し・・・


でも、変数名というのは第一に分かりやすさが重要なのであって、規約をがちがちに守る必要は無いはず。言い換えれば、「どんな世界にも例外は存在する。」ここでの例外はもちろんGUI部品。
ということでGUI部品に限っては、型を表す名前を付けたほうがいい(と自分は思う)。
更に、イマドキのIDEには基本的に補完機能が付いているはずなので、これを考慮に入れてbtnとかは先頭に持ってきて、btn_okとかすると便利。こうすることで、コーディング中に「あのボタンの名前なんだっけ・・・」となったときに、btn_と入力して、Ctrl-Spaceだかなんだかのキーで補完機能を呼び出せば、ボタンの一覧が見れるようになる。
ちなみに自分がよく使うプレフィックスは以下の通り。

btn_ ボタン
txtF_ テキストフィールド(単一行)
txtA_ テキストエリア(複数行)
lst_ リストボックス
menu_ メニュー
cmb_ コンボボックス
xxx_item_ xxxアイテム*2


まぁこの内容自体が本だったかどっかのサイトだったかの受け売りに近い状態ですけど。
頭が固い、というか流されやすい、というか本質を考えずにただ盲目的に何かを信じ込んでしまうタイプの人で、ハンガリアン記法的な記法を頭ごなしに否定している人には、btn_は型を表しているんじゃなくて、あくまで意味・役割を表しているんだよ、と教えればいいのかな?ようは考え方の問題、ということで。

*1:ここではWin32APIは無視

*2:例えばmenu_itemでメニューのアイテム