Entry

プログラミングメモ - ソースコード保守で新人教育とか

2009年05月20日

プログラムを書いているとよく耳にすることだけれども,他人が書いたコードを改修するのは,自分でゼロから作るよりも難しいし,つまらなかったりします。けど,この頃思うんですけれど,実装技術っつのは,むしろ他人のプログラムを改修することで,大方身に付くんじゃないかと思っていたりします。

趣味でプログラムを書いている方は,あまりピンとこないと思うんですけれど,業務でプログラムを書く場合,他人が書いたソースを(バグ込みで)保守しなくちゃいけないことがあったりします。つか,自分でゼロからプログラムを作ることができる場合は,むしろ珍しかったりする。うちの場合ですけど。こゆのを保守する場合,他人が作り込んだバグも修正する責任が生じます。また,本来の案件として,新機能を追加したり,リファクタリングしたりもする。

これ,同じ会社の人が作ったのなら,まだ聞く手はずもあるんですけれど,他社のプログラマが作ったシステムを保守する場合は,自分とソースコードだけが頼りだったりします。元のプログラムが汚いと,もう泣ける。

で,今,研修の一環で,新人さんにプログラムを新規に作ってもらってるんですけど,今になって,ちとまずったなぁ,と思っていたりします。新規にプログラムを作れる場合は少ないから,最初からある程度出来上がってるコードを,よりよくリファクタリング/機能追加してもらう方が,効果が高かったのかも,と。他人のソースを読む練習になるし,どうすれば効率よく機能追加できるかを考える契機にもなったんじゃないかと思う。

例えば,「cat(1) に行番号をつけて出力するオプションを追加してください」みたいな簡単なところからはじめて,最終的には自社のクラスライブラリを拡張してもらったりするとか(採用=コミットするかはともかく)。C++ や Java のような言語なら,リファクタリング手法や機能の追加手法の選択肢が増えるので,継承やポリモーフィズムのありがたみを肌身で実感してもらえたんじゃないかと思います。

おそらく,これは趣味でプログラミングをしていて,伸び悩みを感じている方にも有効なんだと思います。オープンソースのコードはたくさんあるし,練習材料には困りません。あー……まずった。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN