終わりに結論、はじめに結論:基本を押さえ、将来の拡張性を踏まえてコード設計をしましょう。システム開発する際に必ずやらなければならない作業がコード設計・整備になります。開発ベンダーも手伝ってくれる事はありますが、基本的には情シス+ユーザー部門で検討、整備をする事になります。システム更改であってもこういった機会にコード体系を一新する場合もあるので、ここは基本に戻ってコードの種類から押さえましょう。コード設計の基本用語コード設計では基本的に下の5つのいずれか一つ、もしくはいくつかを組み合わせて使う事になります。桁別コード・コードの各桁に意味を持たせる例)コード「10109F」は、「1」:日本、「01」:北海道、「09」:9月、「M」:女ブロックコード・上位の桁をブロック(固定)して、連番を付与する例)AA000001、AA000002、AA000003、AA000004BB000001、BB000002、BB000003、BB000004二モニックコード・連想コードとも呼ばれ、略語等を利用してコードから連想できるようにする例)SY(商品)、TK(得意先)、SI(仕入先)デシマルコード・HTMLではお馴染みで色や文字の英数字のコードをHTMLコード化したもの「&#74;」ですが、コード設計でのデシマルコードとは10進コードとも呼ばれ、0~9の10個に分類して更に細分化する例)コード「532」は、大分類:5、中分類:3、小分類:2意味有りコード?意味無しコード?二モニックコードに代表されますが、コード自体に意味を持たせるのか、それとも意味を持たせないのか議論が分かれるところですが、単純に下の法則に当てはめて考えてみるとすんなりと答えが出てきます。数が多い(1万以上)?これからもどんどん増える?極めて単純な法則ですが、多品種大量生産を行う工場、同じように多品種を扱う小売、更には次々と新しいコードが生まれる場合は、連番にしてしまった方がシステム管理をするうえでも効率的でしょう。頻繁に新コードが生まれない場合は二モニックコードのような意味有りコードでも全く問題ありません。意味有りコードの良さは、現場や同僚と話すときにコード自体が意味を持っているので話しやすいですし、更には桁別コードで他の意味も持っていれば、詳細を調べる事も無く把握できます。一つはシステムへの愛着の問題もあるでしょう。仕事で使うものとは言え、無味乾燥とした連番よりも、意味のあるコードの方が見ているだけで製品を想像できるのではないでしょうか。感覚的な物言いですが、こういった感覚的なものを少し大事にすることが、時にはユーザーの愛着につながる場合もあります。将来の拡張性コードを設計する上で将来の拡張性の検討は避けて通れません。言って、拡張性を持たせすぎて桁ばかりが大きくなってしまう事もあるのでさじ加減が難しいところとなります。「得意先マスタのコードの桁はシステム上では増やせたのに、システム会社に作ってもらった帳票ではコードがはみ出るようになってしまって、帳票のプログラムを修正するために費用が発生してしまった。」と言った話はよくあります。ビジネスの環境変化が著しい最近ではM&Aもめずらしくないので、「子会社が出来たのでコード増やして。」といった事もあり得ます。何をどこまで考えてコード設計をすればよいかは正直なところ難しいですが、下の2つは必ず考えてみてもよいのではないでしょうか。少なくとも過去5年を振り返って起きた事は、これからの5年では起きる可能性があるので拡張性の考慮に入れる。これからはM&Aもめずらしい事では無いので、会社が増えたり減ったりしても対応できるようにする。こんなところでしょうか。終わりにシステム開発や更改の終盤戦にコード設計をじっくり考える暇は無いのが普通なので、テストだ本番だとドタバタが近づく前に、ユーザー部門と共に愛着が持てるコード体系を検討してみる事をお勧めします。時期としては要件定義が終わり、システム会社が開発を行なっている最中が一番良いかと思います。はてなブログPro経企、情シス、SEを約20年。経営の言う事が正義だと、数値目標と優位な立場を利用して社員を追い詰め、ブラック労働を強要する事に慣れていった自分に失望。昭和な価値観で古い体質の日本企業(≒ブラック企業)や会社生活、スペイン語、薪ストーブ、情シスを中心にブログ発信。「会社を辞めたい」と思ったら、素直にその気持ちに従いやるべき事スペイン語で質問をする際によく使う文法用語まとめ(初級~中級)月別アーカイブはてなブログをはじめよう!todomioさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。