LoginSignup
70
69

「変数名付きの用語集」で品質高く開発できた理由

Last updated at Posted at 2024-04-12

はじめに

◆この記事は何?
変数名付き用語集の作り方を紹介する記事です。
「上流品質を高める用語集」の作り方を紹介します。

◆対象は?
開発に関わる人

◆この記事のねらい
より良い用語集を作れるようになること

先に結論

  • 用語集で変数名を定義することで品質が高くなった
  • 品質が高いのは、ドキュメント/コード/テストデータで表記揺れがなくなったため
  • 良い用語集にするために
    • メンテナンスしやすさを重視する
    • ジャンル別で整理する

「良い用語集」とは?

「良い用語集」とは、上流品質の向上に寄与している用語集だと考えます。

プロジェクト開始前に用語集を作成し、「用語集を正」として、要件定義書を作成して、データベース設計書を作成して、設計書を作成して、コーディングして、テストをしていきます。

つまり、全てのフェーズで用語集を活用し、表記揺れを無くします。

その結果、品質向上の活動をより上流に移すこと(Shitf Left)ができます。

変数名を定義する

上流品質を高めるために、変数名を定義します。

例えば、次のように整理します。

# 用語 変数名 意味 備考
1 在庫型物流センター distribution_center 商品が一時的に保管され、さらなる配送のために分類される施設 DC(Distribution Center)とは?
2 最終目的地 final_destination 商品が最終的に届けられる場所 例:消費者の住所
3 バース berth 荷降ろしをするためにトラックを停車させておく場所 関連:バース予約

この変数名をテーブル定義、コーディング、テストなどで採用します。

◆用語集で変数名を定義するメリット

用語集で変数名を定義するメリットは次のとおりです。

  • 変数の表記揺れがなくなる
  • 変数名を考える時間が減る
  • 使いまわせる箇所が増えて効率が上がる
  • レビューの工数が減る
  • 可読性が上がる
  • 検索性が上がる

変数名を定義するだけで、挙げればキリがないくらいのメリットを享受できます。

メンテナンスしやすさを重視する

特にプロジェクト序盤では、用語集は高い頻度で更新されます。

そのため、メンテナンスしやすい状態を保つことが重要です。

具体的には、列を増やしすぎないようにしています。

補足したいことは「備考」を積極的に使います。

ジャンル別に整理する

用語はジャンル別で整理します。

これは用語集を使いやすくするための工夫であると同時に、用語集のメンテナンス性を高める工夫でもあります。

例えば、「場所に関する用語」と「時間に関する用語」は分けて整理します。
先ほど挙げた例は「場所に関する用語」です。

下記は「時間に関する用語」です。

◆時間に関する用語

# 用語 変数名 意味 備考
1 予定配達日時 estimated_delivery_datetime 顧客に通知される商品の予定配達日時
2 リードタイム lead_time 顧客が注文してから届くまでの時間 単位は時間(hour)
3 出荷日 ship_date 商品が倉庫や配送センターを出発する日

※接尾語について、日付に関するものは「date」、日時は「datetime」などとあらかじめポリシーを決めておきます。

プロジェクトごとにジャンルを考える必要がありますが、まずは次のようなジャンルを考えると良いかと思います。

  • 組織図/役職
  • ステークホルダ
  • 時間に関する用語
  • 場所に関する用語
  • お金に関する用語
  • 業務フローに登場する用語
  • マスタテーブルで使われる用語
  • 既存サービス/システム

おわりに

この記事では、良い用語集の作り方を紹介しました。

私は、変数名付きの用語集を作るようになって、良い開発ができるようになりました。
「上流品質が高い開発ができる」と自信を持てたのは「変数名付き用語集」のおかげです。

皆さんの用語集の工夫があれば、ぜひ教えてください。

この記事がお役に立てれば幸いです。

それでは。

参考

ソフトウェア品質を高める開発者テスト

70
69
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
70
69