いつか作ります RSSフィード

2009-01-06

コーディング規約以前の問題 15:17 コーディング規約以前の問題 - いつか作ります を含むブックマーク はてなブックマーク - コーディング規約以前の問題 - いつか作ります コーディング規約以前の問題 - いつか作ります のブックマークコメント

同じ概念(「記事本文」など)を指す単語がbody, article, message, commentなどバラバラである場合、何より先にこれを統一すべき。これは、設計段階で行なうのが望ましい。

$bbs_articleと書くか$bbsArticleと書くか、なんていうルールは、この大前提の上に立脚しているものであり、この過程が無いならば、変数名などに関するあらゆるルールは決めるだけムダである。

この(暗黙の絶対)ルールについてあまり触れられないのは、英語圏ではそれが「当たり前」だから。我々が「支払い番号」などという語で設計を行なうのと同じフェイズで、既に彼らは「accounting id」などという語で設計を行なっている。だから、「変数名はCamelCaseとする」というルールを決めるだけで、全変数が$AccountingIdに自動的に統一される事になる。

いっぽう非アルファベット圏では、「支払い番号」に相当する英語の表現が多数考えられるので、CamelCaseに統一してもAccountIdとかPaymentIdとかPayMethodIdとかSalesNumとかの様々な亜種がいつの間にか登場してしまい、結局混乱を招く。

要するに、変数名を考える時に英辞郎を引いているようでは、変数名に関するコーディング規約は役に立たない。

追記

開発者だけでなくビジネス層まで巻き込んで単一の用語セットを構築するのを、ユビキタス言語パターンというらしい。

新着エントリは上に追加。コメントは「はてなユーザのみ」、公開設定はパブリック (だれでも閲覧ができます)。