次のページはじめに皆さんはコーディングがお好きですか?プログラミングが好きでソフトウェア業界に入りプログラマになったのは良いものの、ソフトウェアやシステムを新規に設計して開発するのは稀で、現実には他人の書いたソースコードを触ることが多くはないでしょうか?そして、いざ引き継いだソースコードを見て愕然としたことはないですか?例えば、以下のようなことに遭遇しませんでしたか?クラス名/メソッド名(do1、do2)/インスタンス変数名(a、w、t)の意味が分からない同じような事が何度も書かれているメソッドの長さが1000ステップを越えているmainメソッドしか存在しない表1:驚くべきソースコードプログラマは、受け取ったソースコードを見て処理内容を推測します。手がかりは、プログラムの構成やメソッド名、変数名などです。仕様書があれば、ソースコードを読み解くために利用できますが、仕様書とソースコードの内容があまりにも異なる時は、プログラムの方を正しいものとします。やって、読み解こうとしたソースコードが複雑な場合、ソースコードに書かれた変数名やメソッド名の意味が分からない場合、メソッドの長さがある閾値を越えてしまう場合はそのソースコードを引き継いでメンテナンスするよりも、新しく書き直すことを選択してしまいます。因みに、変数名やメソッド名を解りにくくすることは、難読化(Obfuscation)や曖昧化(Obfuscator)といいます。これらはソフトウェアプロテクションという分野として盛んに研究が行われています。世の中には難読化/曖昧化のための解析ツールもあります。相手が理解しやすいように、良いソースコードを書くためには、どのようにすればよいのでしょうか?それは、次にあげる「コーディングの心得」を守ることです。コーディングの心得プログラミングを上達させるためにもこのコーディングの心得は把握しておいてください。後で説明する箇所でも、もう一度宣言します。私がプロジェクトでプログラミングする場合は、メンバーとこの5ヶ条を毎朝唱えてから仕事をスタートしようというような冗談が通じるような体制で、プロジェクトを進めています。良いコードとは何かコーディング規約を利用する目的は、ソースコードの品質をあげることだと思います。品質の基準を明確にしないで良い、悪いと話してもしかたありません。そこで、本連載の第1回目では、「良いコードとは」というテーマで話を進めていきたいと思います。そのことが最終的に「心得5ヶ条」につながっていきます。ここでは、「良いコードとは」どういったものなのかを考え、ソースコードを交えながら、悪い点を説明していきます。良いコードとはどういったものでしょうか?良いコードだと思われる内容を表3に箇条書きで表します。読みやすい適切なコメント速い、見た目がよい修正個所がすぐに分かる機能の追加・削除が楽バグが無いセキュリティが考慮されている仕様を満たしている落ちない自分だけがメンテできる(仕事に困らない)表3:良いコードとは?最後の項目は冗談ですが、「良いコード」とは、プログラムの品質と密接に関わっていることが分かると思います。次のページ参考文献などJavaコーディング規約2004は以下のサイトおよび書籍として発表しています。本連載と共に参考にしてください。http://www.objectclub.jp/community/codingstandard/JavaCodingStandard2004.pdf「オブジェクト倶楽部」Javaコーディング規約2004は、オブジェクト倶楽部で公開して頂いております。ルールブック」という名前で書籍になりました。規約の詳しい内容に関しては本書籍をご覧ください。http://www.x-media.co.jp/xbook/index.cfm?ID=6Javaコーディング規約を理解するに際しての参考サイトをご紹介します。コーディング規約を理解するに際しての参考書籍をご紹介します。開発技術センターJava(J2EE)/オブジェクト指向の研究開発やプロジェクト支援、開発コンサルティングに従事。モデル、アーキテクチャ、プロセスが探求対象。Javaコーディング規約2004の仕掛け人。開発技術センターCTI、Webアプリの開発経験を経て、現在は主にプロジェクトマネジメント支援、プロセスエンジニアリング、ソフトウェア工学研究開発に従事。最近はコーチング、ファシリテーションといったヒューマン系スキルに興味を持ち日々修得に努めている。健コードが単純になるには?見やすいコードを書くには?を日々模索しています。「コードがドキュメントだ」が、口癖な他称人間コンパイラ。この記事の評価をお聞かせくださいボタンをクリックしますとウインドウが開きます。