FileMaker(ファイルメーカー)を制作していくと、いろんな記号が登場すると思います。普段は特に気にしない特殊な記号について書いてみたいと思います。
このページでは次のような内容が書かれています。
- フィールド名に記号が使えない!?
- 記号を名前の中で使うのがあまり良くない理由
- 使える記号もあるので有効に使う
- スペースもある意味特殊な文字
- 特殊文字はどうなの?
- まとめ
フィールド名に記号が使えない!?
FileMaker の制作をしていると / - , * といった文字を使えない場面に出くわします。特に多い場面はフィールド名での警告メッセージではないでしょうか。
警告ダイアログが出る記号は、具体的に挙げると
+ - * / ^ & = ≠ < > ≥ ≤ ( , ; ) [ ] " : $ } \
といった記号たちです。
フィールド名だけではなく、テーブル名やテーブルオカレンス名などでも同じように警告ダイアログが出ます。(テーブルオカレンスについては別途機会があれば記事にしようと思います。)
*強引に使うこともできますが、どこで不具合が出るかも分からないので使用しないことをオススメします。
記号を名前の中で使うのがあまり良くない理由
テーブル名やフィールド名に記号を使うのが良くない理由は、内部での処理が誤動作する可能性が高まるためです。記号の多くは FileMaker の内部で別の役割に使われているため、テーブル名やフィールド名では使えないよと警告が出ます。
例えば + - * / = は各種の計算式で使われていますし、/ (スラッシュ)は他にもディレクトリ(フォルダ)を表したりもします。
それなのにテーブル名やフィールド名でそれらの記号を使ってしまうと、FileMaker の内部では混乱してしまい、時に狂い、誤動作をしてしまう訳です(正しい結果を得られなくなる等)。
これは FileMaker に限らない話しで、他のプログラム言語(JavaScript や Ruby など)でも同じような記号の制約はあるかと思います。
意を振るって、スーパーで買物しているときの商品で例えてみます。
「イタリアン納豆」「スパニッシュおはぎ」「フレンチさつま揚げ」「メキシカン豆腐」などが陳列されていたらどうでしょう、一瞬頭が混乱すると思いませんか。
それは「イタリアン」などが国を表す役割が強いからです。「頼むから商品名の頭にそんなワードを入れないでくれ」と思えたなら FileMaker の気持ちが分かるかもしれません笑。(しらんけど ^ ^;)
参考までに以前お客様のサポートで、リレーション先のファイルが認識しないとご相談がありました。
その原因がファイル名にピリオド(ドット)が入っていたことだったのです。(ファイル名に日付があり、年月日の区切りでピリオドを使用)
*画像はイメージ
ファイル名のピリオドは通常は拡張子を表します。おそらく FileMaker 内部で誤認識してしまったのだと思います。
ファイル名にピリオドを入れることはできてしまいますし、フィールド名にピリオドを入れても警告ダイアログには出てきませんが、やはり念のためなるべく記号は避けたいと思わせる事例の一つとなりました。
使える記号もあるので有効に使う
ファイル名、テーブル名、フィールド名ではなるべく記号は使わないとオススメしましたが、使っても大丈夫な記号もあります。_ @ # ~ |
この辺の記号は概ね問題なく使えると思います。
僕も上の記号は FileMaker の中で各種の名前によく使っています。
特に _ [アンダースコア(アンダーバー)] や | [パイプ文字] は、フィールド名やレイアウト名でも区切りとして重宝しています。
例えば「電話_自宅」「電話_職場用」「電話_携帯」「電話_緊急時」といった感じで記号をはさむことで整理された名前になりスッキリします。
ちなみに全角の記号はどうかというと、半角記号と同じ認識でいた方が良いです。
FileMaker の内部では全角記号を自動で半角記号に置き換えたり、同等に扱う動きが基本的に備わっています。なので同じような警告ダイアログが出たり、思わぬところで誤作動が起きる可能性があります。
その他の言葉文字としての記号、■とか◇とか▲とか※とか Shift-JIS と言われる文字であれば大体大丈夫かなと思います。使える記号を有効活用して視認性をうまく高めたいですね。
FileMaker は特に命名(ネーミング)が大事で、名前をパッと見て何を表しているかが分かる方が管理しやすくなると思っています。(個人的見解)
スペースもある意味特殊な文字
ところで、名前に "スペース" を使うことを避けるシステム制作者が実は多いと思います。それは主に30代40代以上の人かと思いますが、なぜスペースを避けるのでしょうか。
昔はスペースによっても誤作動をすることがあったからです。普通の人が使うコンピュータ(パソコン等)が登場して10年~20年の間くらいのことでしょうか。
最近はいろいろ進化したので、スペースがあっても問題は起きにくくなっています。それでもスペースを避ける人がいるのは、昔の失敗の経験が記憶に残っているためだと思います。
ちなみに僕もテーブル名やフィールド名など名称にはスペースを入れない派です。
今は問題が起きにくいといっても、制作時に人為的ミスをすることがあります。
以前、広告代理店の FileMaker の部署で、ファイルを指定する処理がなぜかうまくいかないと悩んでいる同僚がいました。
僕も一緒になって調べてみると、ファイル名にスペースが入っていたことが判明したのです。
FileMaker 内の設定でもファイル名と同じくスペースを入れたら正常に動きました。(潜在的な問題になりそうだったため、後日ファイル名からスペースを取り除きました)
*ファイル名にあるスペースは認識しづらい
そんな経験をしたため、僕は今でもスペースは使わず、むしろスペースが入っていないか確認するくらいです。
おそらくスペースというのは視認性が良くないことが問題かと思います。そう考えるとスペースではなく _ や | を使う方がバグが出にくい堅牢なシステムになるのだろうと個人的には思います。
特殊文字はどうなの?
ちなみに、記号ではなく特殊文字と言われる文字があります。© ® ⅲ ⑦ ♂
といったものがあるでしょうか。
さらに、変換の候補には他にもいろんな絵文字も気軽に出てきます。
😀🎂 🎉 ✉ ✌ ➶
などなど。これらの文字はフィールド名などに使おうと思えば使えます。ちょっと面白いというか、不思議な絵面になりますね。一応問題はないはずです(未検証)。
では、FileMaker ではなくテキストエディタで同じように絵文字を入力してみます。これを Shift-JIS で保存すると・・・
あらら、?マークになってしまいました。
特殊文字の多くは UTF-8 とか Unicode で保存しないとダメそうです。
そういうことからも、どこでどう誤作動を起こすかも分かりませんので特殊文字も絵文字もなるべく使わない方が良いと思われます。
まとめ
以上、結論としてはテーブル名やフィールド名などに特殊な記号や文字を使うのはオススメしない、ということをお伝えしました。とはいえ使える記号や文字もあるので有効に活用するのがイイネということも書きました。
ところで、当然のことではありますがフィールドに格納するテキスト文字は、記号だろうとスペースだろうと特殊文字だろうと、もちろん格納はできます。データベースですから、データを格納できて当たり前です。
今回はシステム制作における各種の名前・名称に関して、になりますのでお間違えなきように^ ^
今日も良い一日を♪
Blogger Comment
Facebook Comment