システム開発ブログ/ 流通システム部 Yahoo!ブックマークに登録 Google ブックマーク はてなブックマーク Livedoorクリップ シェア

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

プログラムを効率的に読む

赤羽
赤羽 (2009年3月26日 12:32)
流通システム部

プログラムを作成する際に、
他の方が作成したプログラムを参考にする事は少なくないでしょう。
特に業務では1からプログラムを作成するのではなく、
他の方が作成したプログラムを修正、または追加していく事が多いと思います。

「プログラムを読む力」はプログラマには必須の能力です。

しかし、いざプログラムのソースコードを読もうとしたとき、
膨大な量のソースコードであった場合には、理解するまでに時間がかかってしまいます。
Main部分から丁寧に追っていけばいつかは理解出来るのでしょうが、
それはあまり効率的ではありません。

では、どのような点に注意すれば効率的に理解出来るか考えていこうと思います。


  最初はざっと眺めて、全体を把握する

規模の大きなプログラムの場合、機能ごとにファイルやフォルダを分けている事が多いです。
また、関数の先頭のコメントを参考に、
どこでどのような動きをしているのかを簡単に調べます。
調べたものはメモを残すなどしておくと良いでしょう。
メモを残しておく事で、ソースコードを追っていくうちにわからなくなってしまったり、
忘れてしまった場合に、読み返す手間が省けます。

  図を書いてみる

先ほど簡単に調べた全体像を図に表します。
やはり、文字の羅列でみるよりも、図で見た方が理解がしやすく、
また図を作成する事で頭の中を整理する事が出来ると思います。
ただし、ここでは凝った図にする必要はなく、シンプルな図を作成する事を心がけます。

  デバッグ実行を活用する

全体の中から目的の機能を見つけたら、細かい動きを調べます。
ここで、ソースコードを読むだけではなく、
ブレークポイントを設定しながら実際にプログラムを動かすことで、より理解が深まります。

  名前から機能を推測する

関数名や変数名からは、どのような目的で作成されたものなのかを読み取る事が出来ます。
Get~、Set~といった関数名は動きが想像しやすいです。
また関数の引数、戻り値も動きを理解するのに参考になると思います。

  作成者の思想を読み取る

1つの機能を実現する方法は人によってそれぞれ異なります。
ソースコードには作成者の癖や考え方が反映されています。
作成者の思想を読み取る事が、ソースコードを読むことなのではないでしょうか。


ソースコードを読む事は、プログラムを作る前準備として必要な事です。
しかし、ただ漠然とソースコードを読むだけでなく、作成者の思想を読み取ることで、
楽しみながら読むことが出来るのではないでしょうか。

私はまだまだ経験不足ではありますが、
効率的にプログラムを読む方法は他にも見つけられるでしょう。
今後も常に効率化を考えて業務に取り組んでいきます。

「システム開発ブログ」へのコメントやご意見等ありましたら、 ファンページまでお願いします。  Facebook のファンページ

お問い合せ・情報はこちらの電話番号におかけください:03-3232-2525 お問合せ・資料請求はこちらをクリックしてください
ページのトップ
システム開発・一括受託開発。見積依頼受付中

システム開発専用サイト

システム開発の流れ・手順、実績など。アイロベックスのシステム開発を紹介。

VB .NETを主言語としたWebアプリケーションの開発

要件分析から保守まで、お客様の現場での問題解決だけでなく、IT経営の援護者としてトータルソリューションサービスを提供しています。

MovableType を使ったウェブサイト構築

魅力あるウェブサイトデザイン、構成はもとよりMovableTypeを使用したウェブサイトの作成、JAVA、CGIによる注文フォームの作成等、ビジネスを強力にサポートします。

フォルダーアクセス権限確認ツール『AD-Folder』

Windowsフォルダーアクセス権限確認ツール

フォルダーアクセス権限を一目で確認。使用版を無償でご利用いただけます。

スクール運営を応援する講座情報管理システム『CMS+AD for School』

Webとリアルをつなぐコンテンツマネージメントシステム

Webサイト・モバイルサイト・チラシ(PDF)・カタログ(InDesign)を、簡単かつ正確に作成できます。

「システム開発ブログ」の更新情報をTwitterで。

Twitter公式アカウントに認定されています

「システム開発ブログ」の更新情報をTwitterで。ぜひ、フォローをお願いします。