FileMaker 開発上の命名ルールについて

028_meimei

名付けという行為は非常に大事なものです。古くは吉田兼好が『徒然草』の中で「人の名も、目慣れぬ文字を付かんとする、益なき事なり。」(人の名前も、珍しい文字を使ってもまったく意味がない)と述べていますし、『風の谷のナウシカ』(原作)では巨神兵が名前を与えられたことにより急速に知性が発達し… のっけから脱線しました。すいません。

ともあれ、FileMaker開発を行う上でも名付けはとても重要です。フィールド名やテーブルオカレンスといったデータベーススキーム(構造)を決定するファクターについて、当社なりのやりかたをご紹介します。

命名にまつわるルール

きちっとしたルールを敷く理由はなぜか。たとえばフィールド名を例にとってみましょう。FileMakerにおけるフィールド名は情報の最小単位となるものです。そのため、データベースによっては非常にたくさんのフィールドがつくられることになります。その中でも特殊な働きをするフィールド(グローバルフィールド、計算フィールドなど)は、一目で属性が判断できるようになれば利便性が増すことうけあいです。

また複数名のチームで開発を行う場合、他人があとから自分のつくりあげたものを見たときに、一定のルールに従った開発を行っていれば理解のスピードが圧倒的にはやくなります。この場合の「他人」は「未来の自分」も含みます。

あくまでも当社のローカルルールですが、グローバルフィールドの場合は「g_」を、計算フィールドであれば「c_」を、なにかの動作におけるフラグを表すフィールドは「flag_」を名称の先頭につけたり… これだけで、無数にあるフィールドを視覚的に分別することができるようになります。詳細をいちいち確認せずとも一目見て属性が判断できるようになるため、作業工数の短縮も見込めます。

テーブルオカレンスにおいても、下記のルールを適用するだけでとたんに見やすく、後から管理しやすくなります。

  • レイアウトごとにテーブルオカレンスを分別する
  • 第一階層のネーミング:ベースとなるテーブル名_レイアウト名
  • 第二階層以降のネーミング:ベースとなるテーブル名_リレーション先のテーブル名_レイアウト名
  • テーブルオカレンスをそれぞれ色分けしておく。色分けのみのIndexを左上につくっておく

言葉では伝わりづらいので、当社開発のデータベースを具体例として掲載します。

テーブルオカレンス

構築手法によって見やすくも見づらくもなりうるのがテーブルオカレンス。命名ルールに基づく整然とした見た目であれば、メンテナンスもやる気が起きることでしょう。また、随所にでてくるテーブルとレイアウトの関連付けにおいても、用途が明確化されているため誤った選択を行う危険性を低減できます。

その他の命名ルール

スクリプト引数を使用するスクリプトの場合、名前の最後に「[Getスクリプト引数]」と入れています。そうすれば、ボタンにスクリプトを割り当てる際、スクリプト引数を忘れずに設定することができます。

レイアウト名にも一工夫。「レイアウト名 | PC」「レイアウト名 | iPad」「レイアウト名 | 印刷用」などのように、区切り文字の後に用途を入れておくのです。それだけでスクリプトによるレイアウト選択が格段にやりやすくなることでしょう。

同様に、値一覧の名前にも、区切り文字+それが使用されるレイアウト名をつけておくとわかりやすいですね! ただでさえ値一覧は用途がわかりづらくなりがちですが、レイアウト名と連動させることで特定が容易になり、のちのちのメンテナンス性向上につながります。

漫画ネタ続きで恐縮ですが、横山光輝版『三国志』で諸葛亮孔明曰く…

軍規を守ってはじめて強兵が生まれ それが国を守り国を強くしていくのです

FileMaker開発に限った話ではなく、世の中の「開発」と銘打った行為において、上記のルール徹底はとても有効だと考えています。まさしくルールを守ることで、メンテナンス性に優れた強固なデータベースを作り上げることができます。わたしたちなりのルールですが、みなさんの開発の一助になれば幸いです。