FileMaker開発時のコメントのつけ方

開発時にこまめにコメントを残すことは未来の自分を助けることになります。
FileMakerでの開発時に、標準機能だけではなく、ユーザの工夫で簡単に開発メモを残す方法が、igeekのブログ記事で紹介されています。


igeek

FileMaker開発時のコメントのつけ方
( Successful Commenting in FileMaker )

Jonathan Fairhead
2014/5/9

FileMakerでコメントを使用する

FileMakerの開発者として、データベースについての特記事項をメモとして残したい場合がよくあります。それは例えば、リレーションシップのしくみに関してであったり、なぜレイアウトに隠しオブジェクトを置いたかの理由、あるテーブルの役割の説明であったりします。このようなメモを残すために、FileMakerには「開発者限定」のツールがいくつも提供されていますが、標準の機能では不十分な部分もあり、そのような場合は開発者自身の工夫が必要になります。

フィールド

すべてのフィールドにはコメント欄があり、自由に記録を残すことができます。私はいつも名前のイニシャルと日付を含むようにしています (複数人で開発をしている場合に便利です)。FieldCommentデザイン関数を使えば、スクリプトからフィールドのコメントを取得することもできます。これは、似たような名前のフィールドがたくさんある場合に、それらを識別するのに特に便利です。例えば、以下の式を各フィールドのポップアップヘルプとして設定します。

If ( Get ( AccountPrivilegeSetName ) = "[Full Access]" ; FieldComment ( Get ( FileName ) ; GetFieldName ( Self ) ) )

これによって、「完全アクセス」の権限でログインした場合に、フィールドのコメントを見ることができます。ふさわしい状況で使えば非常に便利です。

テーブル

フィールドにはコメントがありますが、テーブルにはコメントはないのでしょうか? FileMakerよ、簡単なことなのになぜ? 仕方がないので、私はテーブルに関するメモを、主キーフィールドのコメント欄に記録することで回避しています。テーブルに関するメモを残さなくてはいけないケースというのは多くはないですが、あるテーブルが何のためのものか説明が必要な場合もあります。それによって未来の自分が無駄な時間を費やして悩まなくてもいいようにします。

リレーションシップ

リレーションシップグラフには、便利なテキストボックスツールがあり、フォント、サイズ、文字色、背景色を自由に設定できます。テーブルオカレンスやリレーションシップの下にテキストボックスを配置して、リレーション設定の特記事項を記録できます。また私は通常細長いテキストボックスを配置して、リレーションシップグラフの下限を示すようにしています。

計算式

計算式が複雑すぎて分解しないと理解できないという場合はそう多くはないですが、たまにあるそのような場合にはコメントは必須です。理解を助けるために // あるいは / * * / を使用します。

スクリプト

スクリプトには、「コメント」というスクリプトステップがあり、そのスクリプトが何をするためのものかの説明や、スクリプトのある部分のしくみの説明などに利用できます。シンプルな機能であるにもかかわらず、開発者がさぼってスクリプトにまったくコメントを残していないデータベースを見ることがよくあります。これは開発者として許されざる反則行為だと思います。

私がいつもコメントに残すようにしているのは、スクリプトの作成者名、作成日時、スクリプトの目的、引数のリスト、変更履歴です。特に変更履歴は、長期間運用しているデータベースではとても重要です。

スクリプトのヘッダの例を以下に示します。

作成者/作成日時 : Jon - 01/01/2012
目的 : Prints stock report
引数 : Date range
変更履歴 : Jon - 04/04/2014 - Included check for new report.

レイアウト

データベースに変更を加える場合、私はその要素を削除や修正をせずにそのまま保存するようにしています。具体的にいうと、顧客からレイアウトの大規模な変更を要求された場合、レイアウトを複製し、レイアウト名に私のイニシャルと複製日を付加して、「古いレイアウト」フォルダに分類しておきます。スクリプトについても同じようにしています。間違いを犯した場合にバックアップコピーに戻れるのはいいことですが、私の場合、バックアップを使用することは開発プロセスに失敗があったことを示します。それにこれでは手間がかかりすぎます。

もちろん、わざわざレイアウト全体のバックアップを取るまでもないような小さな変更を行う場合もあります。そのときでも、その小さなレイアウトオブジェクトのコピーを残しておきたいと思うことがあるでしょう。そのような場合には、そのオブジェクトをレイアウトの領域外に移動させて見えないようにすることができます。しかし時間がたつとそのような隠しオブジェクトが増えてしまって整理がつかなくなります。私が好んでおこなっている方法では、タブセクションをレイアウトの枠外に作成し、オブジェクトを種類ごとにタブにまとめて置いておきます。これによって、部品が整理されて必要なときにすぐに利用できます。

それにコメントがどう関係するかですが、私は1つ目のタブにテキストオブジェクトを置いて、レイアウトに対するコメントを記録するために使用しています。もちろんすべてのレイアウトに必要というわけではないですが、特殊なレイアウトの場合は、なぜこの手法を採用したのかの理由を記録しておくことで、未来の自分の時間を大きく節約することができるでしょう。

最後に

データベース開発では一貫性がキーになります。これを開発者の信念として守ることで、迅速で正確なデータベース設計・作成が可能になります。

Leave a Reply