良いコ-ドへの道―普通のプログラマのためのステップアップガイド

第2回 名前付け重要。または,良いコードは良い名前から生まれるんです。―その5 良いパッケージ/ネームスペース名

この記事を読むのに必要な時間:およそ 1 分

良いパッケージ/ネームスペース名

Javaのパッケージ名やC#のネームスペースなどは,クラスやリソースの論理的なグルーピングを行い,階層構造を実現します。これは,主に名前の衝突を防ぐために使用されます。

パッケージ名は,グループの論理的な内容を表す簡潔な名詞を選択します。図2~4はパッケージ名の良い例です。

図2 Javaのパッケージの例(Google Guice)

図2 Javaのパッケージの例(Google Guice)

図3 Seasar2の推奨パッケージ名

図3 Seasar2の推奨パッケージ名

図4 Perlのパッケージの例(Plagger)

図4 Perlのパッケージの例(Plagger)

おわりに

最初から「良い名前付け」ができる人はいません。「良い名前」に対して,意識を持って取り組んでいくことが大切です。誰にでもわかりやすく,理解しやすいコードということを常に意識していれば,次第に良い名前付けのコツはつかめてきます。

次回は,変数名のところで少し話題が出た「スコープを意識したプログラミング」について紹介します。お楽しみに。

お勧め書籍
『リファクタリング―プログラムの体質改善テクニック』
Martin Fowler(著),児玉 公信/平澤 章/友野 晶夫/梅沢 真史(訳)
ピアソン・エデュケーション,2000年
Amazonで星5つの評価,超実践的な書籍です。コードや設計を少しずつ改善していく手法が中心ですが,変数名やメソッド名の変更など名前付けに関連する内容も多いです。本当に良い本ですので,まだ読まれていない方には,ぜひお勧めします。
『Code Craft―エクセレントなコードを書くための実践的技法』
Pete Goodliffe(著),トップスタジオ(訳),鵜飼 文敏/後藤 正徳/平林 俊一/まつもと ゆきひろ(監訳)
毎日コミュニケーションズ,2007年
現実的なプロジェクトに即した,良いコードの書き方,チーム開発について書かれたコード職人のための書籍です。第3章に「名前の意義」という章があります。
『Code Complete 第2版 上 ―完全なプログラミングを目指して
Steve McConnell(著),(株)クイープ(訳)
日経BPソフトプレス,2005年
第11章に「変数名の力」という章があり,40ページ近くを割いて良い名前に関する内容が書かれています。そのほかにも,実践にすぐ使える基礎・基本が満載の良書です。

Column 良いプロジェクト名を付けよう

名前付けはプロジェクト名においても重要です。プロジェクト名をもとに,パッケージ名,DBのスキーマ名,Subversionのリポジトリ名などが決まります。とりあえずでプロジェクト名を付けてしまうと,あとから変更する際にけっこう苦労します。

良いプロジェクト名を付けることによって,チームメンバーや利害関係者の間で共通認識ができあがり,プロジェクトを進めやすくなるという効果もあります。一例ですが,筆者の会社ではBacklogというプロジェクト管理サービスを開発しています。最初のころは,プロジェクト名がなく「課題管理ソフト」という味気ない名前で呼んでいました。愛着も湧かず,開発も遅々として進んでいませんでした。ところが,Backlog(アジャイルプロセスScrumでの残タスクを意味するプラクティスの名前)というシンプルでイメージの湧きやすい名前が付いてからは,サービスのコンセプトなども明確になり,開発が一気に進みました。

著者プロフィール

縣俊貴(あがたとしたか)

学生時代にMSXで制限された環境でのプログラミングの楽しさを学ぶ。以来,オープンソースのWiki実装「MobWiki」の開発や受託開発などを経て,現在はプロジェクト管理ツール「Backlog」,ドローツール「Cacoo」など,コラボレーション型のWebサービスの企画と製品開発を行う。また,Webアプリケーションフレームワーク「Cubby」のコミッタを務める。福岡在住。株式会社ヌーラボ所属。

ブログ :http://d.hatena.ne.jp/agt

Twitter:@agata

コメント

コメントの記入