« 体重とデータの軽量化、とピザ | トップページ | ブリ、カンパチ »

2008年5月22日 (木)プログラムの書き方

おはようございます。本日の当番、プログラマーの大川です。

本日は挑戦的なネタ、プログラマーの本懐である「プログラムの組み方」にという
お題目で執筆しようかと思います。

このネタ、自分の技術レベルを推し量る基準となりますし、俺ごときが!という
不安もありますが、何かの参考になればと思います。

さて、「プログラムの組み方」といっても、文法をイチから授業のように書き綴る、
というわけではありません。ここでいう「プログラムの組み方」とは、どのように
プログラムを構築していけばいいか、という話題になります。

多少プログラミング経験のある方であれば、以下のような障壁に直面したことが
あるかと思います。

 ・最初は上手く出来てたのに、徐々にメンテナンスが面倒になってきた
 ・プログラムが複雑になりすぎて、自分自身で管理/追跡出来なくなった
 ・そもそも、どういう風に組めば上手く行くのかが分からない

私も業界年数はそこそこあるほうですが、未だにこれらの障壁に直面します。
数百行の簡単なプログラムであればまだしも、複数ソースにまたがると、とたんに
路頭に迷います。

では、こういった場合、どういう風に組めば良くなるか?

月並み、当たり前の回答ではあるかと思いますが、私の採る対策としては、
以下の通りです。細かい話になると、まだまだあると思いますが、
長文になりますので、とりあえず2つ。

 ・ソースは丁寧に書く
 ・管理可能な単位でソースを分ける

まず第一に、ソースは丁寧に書く。これは当たり前ですね。
一行の長さは見易くほどほどに、またインデントはキッチリと、という感じです。
可読性を上げておくことで、メンテナンスを容易にします。

また、ここで重要なのは、丁寧に書くという行為は、自分だけでなく他人の為にも
なる、という事です。個人でプログラミングする場合は、丁寧さはあまり問題では
ありませんが、他人とソースを共有する場合、ソースの可読性はとても重要に
なります。

例えば、作業を引き継いだり、ソースレベルデバッグをして貰う場合。
可読性が酷く悪いと、作業自体を振ることも出来ず、全体での作業の分散化は
困難になります。将来的に誰に渡しても良いように、ソースは常に丁寧に
書いておくことをお勧めします。

次に管理可能な単位、という概念ですが、これは機能別に関数/ソースを
キッチリと分けておく、という意味に他なりません。

プログラムというのは、規模が大きくなればなるほど、管理出来なくなります。
これは経験年数に関係なく、誰しも同じだと思います。基本的に人間は忘れる
生き物です。書いている内容が数式/分岐の羅列であれば、尚更です。

忘れても大丈夫なプログラムというのは、基本的にあってはならない事だと
思いますが、例外もあります。それは「機能として完全に動作しているものは、
忘れても大丈夫」ということです。

では具体的に何かというと、簡単なところではベクトル演算等の数学関数
でしょうか。普段、何気なく使っているライブラリ群も、意味合い的には
そうなりますね。

このように、単位別で切り分ける事が可能なものについては、部品化してしまい、
忘れることをお勧めします。

覚えておくべき範囲を狭くすることで、他の作業により集中することが出来ます。
構造化プログラミングにも直結する内容ですが、実は精神的な安定を保つ事が
出来る「特効薬」でもあります。

と、結構長々と書きましたが、他にも色んな方法があるかと思います。

プログラミングについて悩んでいる方は「物は試し」という事で、
一度試してみては如何でしょうか?

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2008/05/post_f767.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

| | コメント (0) | トラックバック (0)

« 体重とデータの軽量化、とピザ | トップページ | ブリ、カンパチ »

プログラマー」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: プログラムの書き方:

« 体重とデータの軽量化、とピザ | トップページ | ブリ、カンパチ »