C言語研修で、嫌と言うほど、コメントを書け、こう書くんだ!と言い続けた結果、コメントがプログラムの骨組みの支えを作っていることが、体感できたようで、全員がコメントから書いてみるようになった。日本語がおぼつかない者もいるのだが、まぁ、そこはよしとして、プログラム設計の一歩を踏み出すことが出来た。
そうなってみると、今度は、戦術的なコメントの書法だ。著作権、プログラム説明、処理説明、各宣言の解説、デバッグ中のコード、アルゴリズムの説明などなど、プログラムコード中に説明しなければならないことは、ごまんとある。具体的にはプロジェクト毎に書き方が決定されるため、研修ではこれまでの経験から共通項を抜き出したものを伝える。しかし、これをまとめたところかなりの分量になった。「コメント書法」なる本でも書けそうだ。
効果的なコメントの書き方を一方的に伝授した形になってしまったが、一部の情報系出身者には喜ばれたので、よしとしたい。うれしいことに現在行っている参照型言語の研修では、いち早く「コメントはどうやって書くのですか」という質問が飛び交っている。そのせいなのか、言語習得力がぐんぐんとアップしているようにも感じる。この調子でいくと、発見的帰納的な学習は早めに終了して、演繹的なものへと進めても大丈夫だろう。しかし、ついてこれない者がいないとも限らない... 教育の難しさは、意外とうまくいっているときに、落ちこぼれていく者を事前に察知できるかどうかなのか、といまさらながら思うのだった。
※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。
名夢子 on 2008/05/25
C言語、懐かしいです。cgiですら、C言語を使ってましたっけ。メモリリークにはよく悩まされました…。
慣れてくるとコメントより先にコードを打ち込んでしまいがちですが、新人君にはコメントから記述させることが効果的なんですね。なるほど。
また、hokkyさんがおっしゃるように「Doxygen」を利用すると効率的ですが、そういうツールを利用するかは約束事なので、名夢子さんの会社ではいかがでしょうか。
個人的にはコメントをさぼっていると、後で自分でも分からなくなることがよくあるので、必要なことは必要となる箇所に記述することを心がけてます。てゆーか「コメントが必要なコードは書くな」って言われそう?!
海外の方と仕事をするときは仕方なく英語で書いてますが、これも時と場合と約束事によりますよね。
kirifue on 2008/05/23
きむこう on 2008/05/22
最近、ソフトウエアの開発は海外のチームとの共同開発が多くなってきているし、今後も増えていくでしょうから、コメントは日本語ではなく、英語で書いた方が良い様な気がしますが、どうなのでしょうね?まあ、研修だから日本語なのかもしれませんが。
あと、Doxygen (Javadoc)のようなものは導入していないのでしょうか?せっかく研修なので、そういうツールを使ったコメントの書き方も教えた方が良いんじゃないかなぁとちょっと思ってしまいました。
hokky (cafe noir) on 2008/05/22
ブログにコメントするにはCNET_IDにログインしてください。
この記事に対するTrackBackのURL:
うつで病院に行くことを恐れるな
原宿で野宿を含む15時間 - iPhone行列完全ドキュメント
「失われた10年」からの回復は、どういう課題を残したか?
全国健康保険協会の会計(意見募集)
体力消耗戦に突入、携帯電話業界
「Parallels Desktop 4.0 for Mac」は「Mac OS X Server 10.5 Leopard」をゲストOSとしてサポートへ
『誰でもよかった』犯人増殖する
いや、実は俺アカウント捨てたんだ。
そろそろiPhone以外の話題が欲しいです
サーバトラブル事例(2)
Google Lively試してみました。みんなのお題では、ブロガー同士で質問を出し合いそれに対する回答や意見を集めています。今日はどんな話題が盛り上がっているでしょう?
DELLが掲げる「新・仮想化アセスメントサービス」CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。
広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。
CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから
ブログの投稿はこちらから(※ブロガー専用)
今年最も活躍したブロガーを表彰します。詳細はこちらから
これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。
CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。
[レビュー]高い信頼性を普通に使う地球に優しい電源ユニット--Antec EarthWattsシリーズ EA-650
オンリーワンの個性を極めた超薄型テレビ--日立 Wooo UTシリーズ
[レビュー]“この手があったか”と思わせるパワーユーザーも納得のPCオンデマンド--「VALUESTAR G タイプR Luiモデル」+「Lui RN」詳細レビュー
[レビュー]テレビを持ち歩ける最強ツール--ソニー、Blu-rayレコーダー「BDZ-A70」
今週の新製品総チェック:ソニー「VAIO」が新キーワードを発表、ビクターからはYouTube対応ビデオカメラ
[レビュー]ネットワーク対応の高機能デジタルフォトフレーム--ソニー「Canvas Online CP1」
15時間の行列で手に入れたiPhone 3Gファーストインプレッション--ソフトバンクモバイル「iPhone 3G」
今週の新製品総チェック:まさにiPhone一色の1週間、ついに店頭発売へ
北京を見逃すな!--2008年夏、今買うべき「薄型テレビ」
みなさん、コメントありがとうございます。
>hokkyさん、きむこうさん、kirifueさん
私の会社では実際のコメント記述はプロジェクト毎のコーディネーション・プロシージャで決定されているので、それに従います。英語できちんと記述されているものもあれば、コメントは一切無く、プログラム設計書で十分に表現する。時には、変数名、関数名なども意味を持たせない表記になっていたりします。
こういった現場での対応は、応用にあたると判断して、基本的な「しつけ」を新入社員にしています。Doxvgenを使っている部署もありますが、これがまだ全社標準的に使われていないので、研修に組み込むのは見送りました。来年以降はアセンブラとJavaの言語研修に切り替えようかとも思っているのですが、C言語のような発見的な教育効果が得られるかどうか、若干疑問なので、その点も検討しながら、来年度の教育プランを練っていきたいと思っています。