フィールドコードの命名
kintone で作成できるアプリには様々なフィールドが存在し、その全てにフィールド名とフィールドコードを割り振る必要があります。
フィールド名は主にユーザーが見える部分に、フィールドコードは主にアプリ管理者および JavaScript で参照するために使用します。
今回はフィールドコードの命名規則と、私が JavaScript 上でフィールドコードを使用する際に気を付けていることを紹介します。
この記事のまとめ
- JavaScript は日本語の変数名を許容しているので、日本語でもかまわない。
- チームでルールを決めることが大切
- 基本的にはフィールド名と合わせるべき
正解はない
命名規則については、kintone のガイドラインに明記されていません。
JavaScript は変数名を日本語で定義することを制限していません。
上記の 2 点から命名について、必ずこうしましょう。という正解はありません。
みなさんのやりやすいようにやるのが良いでしょう。エラーが出ないわけですし。
大切なのは統一していること
正解はありませんが、明らかに不正解と言えるものはいくつかあると思います。
その一つがチームで開発している場合に、各メンバーの命名ルールが統一されていないことです。
- フィールド名に対応する英語にする。
- フィールド名と同じ日本語にする。
- 一意になるキーと名前を組み合わせる。
いずれにしても、命名ルールを共有して統一していることが大切だと思います。
フィールド名と合わせるのがいいと思う
ここからは私が使用しているルールにそった個人的な意見になりますが、例えばフィールドの名前が「顧客名」であれば、フィールドコードは「顧客名」でいいと思います。
理由としてはいくつかありますが、
- developer network でそのルールを使用しているサンプルが多い。
- フィールド名と対応するフィールドコードを確認しやすい。
- コーディングしない人もフィールドコードを管理しないといけないことがある。
などでしょうか。
JavaScript で気を付けていること
前述しましたが、JavaScript では日本語を変数名に使うことが特に制限されていません。 ただ私がコード上でフィールドコードを使う際は、いくつか気を付けていることがあります。 注意点をいくつか紹介します。
プロパティのつなげ方
record オブジェクトから各フィールドデータを取得する際は以下のように行うようにしています。
const { record } = kintone.app.record.get();
// OK: このように書く
record['コード1'].value;
// NG: このようには書かない
record.コード1.value;
developer network でよくこの書き方をする方が多かったので、このようにしています。
分割代入を使わない
分割代入を使うことで、各フィールドコードを以下のようにまとめて変数に代入できるんですが、これはやらないようにしています。
const { record } = kintone.app.record.get();
// NG: 日本語が直接変数になることを避ける
const { コード1, コード2 } = record;
if (コード1.value === 'フィールドのデータ') {
console.log(コード1.value);
} else {
console.log(コード2.value);
}
// N/A: ちょっと微妙
const { コード1: code1, コード2: code2 } = record;
// OK: 素直に書く
const code1 = record['コード1'];
const code2 = record['コード2'];
record 以下に日本語のプロパティがいるのはギリギリ許容できますが、日本語の変数がそのままオブジェクトとしていることにどうしても違和感があるので使わないようにしています。
文法として間違ってはいないため、この方が分かりやすいと思う方は積極的に使っても良いと思います。
最後に
kintone のフィールドコードの命名規則について、私が考えることを紹介しました。
いずれの方法を採用するとしても、チームでルールを決めて統一することが大切です。
命名についてや、JavaScript のテクニカルな部分について参考になるものがあれば幸いです。
最後まで読んでいただき、ありがとうございました。