生産性を上げるにはプログラマの高水準知識を意識する 問い合わせ

生産性向上を目指すプログラマ塾

できるプログラマになりたければ、生産性を向上せよ!

プログラミングのコメントは必要性を考える

プログラムにおけるコメントの意義とは?

プログラミングには「コメント」という機能があります。コードを読む人間が後で分かりやすいように残しておくメモ書きのようなものです。コンピュータが直接認識するものではないので、あっても無くてもプログラムの動作には全く影響しません。しかし、「優れたコードには多くのコメントがある」という格言があるように、コメントを書くことは重要視されていて奨励されています。
その一方で、「コメントが多すぎると見苦しいコードになってしまう」という問題点があるのも事実。プログラマにとって作成したプログラムは納品ドキュメントであり、相手に分かりやすいようにコメントを残すことは極めて重要です。どうすればプログラミングにおけるコメントの有効性を高めることができるのか、検討してみましょう。

コメントは高水準知識を意識して記述せよ

たとえばfoobarというclassを記述する際、public function __construct()というコードの近くに「foobar class のコンストラクタです」というコメントを書くのは無意味です。一目で分かる内容についてコメントで言及するのは完全な重複であり、時間的にも容量的にも無駄以外の何物でもありません。
ここで重要なのは、コードに書かれていない内容、すなわち「高水準知識」のみをコメントで書くことです。コードを見れば明らかな内容、「低水準知識」をグダグダと書く連ねるのは、プログラミングの原則であるDRY(Don’t repeat yourself)に反します。コードを見ただけでは分かりにくい重要なポイントをコメントで補完するようにしましょう。

ポイント1:メソッドの分割を意識してコメントを書く

コメントを書く際は、メソッドの分割が大切です。3~5行を1ブロックと見立てて、ブロックごとにコメントを書くプログラマがいますが、これではメソッドが1スクリーン内に収まらなくなります。1メソッドに1コメントのペースで十分でしょう。後で見返す時のことを考慮して、メソッドが1スクリーン内に収まるように分割を工夫すべきです。

ポイント2:クラスや変数の名前を活用してコメントを短縮する

コードを記述する際には、メソッドやクラス、変数に名前を割り当てていくことができます。普段なんとなく適当な名前を付けている方は、これらの名前を工夫してみてはいかがでしょうか。最適な名前を割り当てれば、その名前を見ただけでロジックの意図を読み取ることができます。それは同時に無駄なコメントの節約にもなります。
優れたプログラマは、他の人が見落としがちな些細な機能も有効活用してコードを記述しています。闇雲にコメントを書き連ねるのではなく、名前を変更することで必要な情報を読み手に伝えるテクニックを磨くのも一つの手です。

今読まれている人気の記事

プログラミングの上達が早い人の特徴

プログラミングの上達が早い人の特徴 プログラミングが早い人、ただ早いだけではなく本サイトのテーマの通り、生産性の高いプログラマの特徴を紹介します。生産性の高いプログラマは、広い視野を持って全体を俯瞰しています。目の前にあるコードだけを見るのではなく、最終的な完成形の一部としてプログラムを捉えられるかどうかで、その完成度には違いがでます。コードを書く速度はとにかく毎日書くことにつきます。毎日書いて、かつ、公開することがポイントです。

システム開発の生産性向上の落とし穴

システム開発の生産性向上の落とし穴 システム開発プロジェクトにおいて生産性向上をめざすにあたっては、陥りがちな落とし穴にも気をつけなければなりません。仕様も納期も決められた中での開発なのか、開発しながら仕様を決めるケースなのかによっても、生産性向上のための選択は変わります。目的に合わせたものを採用すること、トップダウンで決定しないこと、導入コストを考えること、そして導入後の現状確認を怠らないことが、落とし穴を避ける秘訣です。

プロマネからプログラマに戻る

プロマネからプログラマに戻る プロマネという道を選択したがために、好きなコーディングがなかなかできなくなってしまい不満があるなら、プログラマに戻り、転職やフリーランスへの転身を考えてみるのも一つの手です。ただし、どちらにしても本当に自分がやりたいことを実現できるのかどうかを見極めて行動に移しましょう。転職の場合は選考の時点で確認を行い、フリーランスの場合は目的や方向性がマッチするようであれば多くの案件をこなし、場数を踏んで実績を積みましょう。

page top

生産性向上を目指すプログラマ塾

Copyright © 2014 生産性向上を目指すプログラマ塾 All Rights Reserved.