大規模プラグラムへの取り組み方について
よろしくお願いします。
大きなプログラムへの取り組み方を教えて欲しいのです。
目的のアプリケーションを作成するために、誰かが作ったライブラリを利用することになりました。
各クラスの説明やメソッドの説明は記述してあるのですが、色んなところに派生していて、コードを追っていっても途中でわからなくなってしまいます。
私が未熟なのは重々承知していますが、このようなプログラムを理解するためのポイントやアドバイスがあれば教えて欲しいです。
何か読んだほうが良い本があるのでしょうか。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
質問が「他人の作ったライブラリを使うときの方法」なら1の方の回答の通り。
例えばCでプログラミングするとき、printfのソースを読まないでprintfを使うのが普通です。
質問が「大きなプログラムのソースを読んで理解したいときの技法」ということだと、「コードリーディング」が検索キーワードになるでしょう。そのものズバリの本もあります。http://www.amazon.co.jp/dp/4839912653
No.4
- 回答日時:
もともとのライブラリがどの程度きれいに書かれているかにもよりますが、C++なら、(バグ修正は別として)機能の追加や(修正ではく)変更であれば、ライブラリのソースを変更せずに対応する方法がいくつかあります。
継承による機能追加や、メンバ関数のオーバーロードによる機能変更など、そういう方面で対応する方が、(可能であれば)安全です。
No.3
- 回答日時:
>機能の追加や修正が必要となったときに中がわからないでは先に進まないのです。
必要になった時点で、初めて中を解析すれば、それで十分だと思いますが。
まぁ、仕事でやってるんじゃなさそうなので、趣味なら好きに中を覗いていくのも良いと思いますが・・・
コードを順に追いながら、フロー図なり、padなりを書いてみれば理解出来るのでは?
ちなみに、サブルーチン等が出てきた時に、馬鹿正直にサブルーチンへ飛んで追いかけてたんじゃ理解出来ないと思いますよ。
一つのファンクションの中だけを追いかけてください。
で、そこが終わったら、そこから呼ばれていたファンクションの中を追いかける。
そうすりゃ一通りのフロー図なりpadなりが出来るから、それを見れば理解できますよね。
未熟なのを自覚しているのなら、自覚しているなりに、手間を惜しまず図にしましょう。
急がば回れ、ですから。
なるほど、ファンクション全体のイメージを理解してから細かいところまで追っていくんですね。
図を作ってみます。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- IT・エンジニアリング 大規模言語モデルは今後どのように進化していくでしょうか? 1 2023/07/20 19:17
- その他(パソコン・スマホ・電化製品) 3口単相100V電源について 5 2023/06/06 11:33
- 副業・複業 『Webライター』になりたいです。 まずブログSNS副業に興味関心がありました。 そして大きな目標と 14 2023/06/16 14:01
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
- 大学受験 AO、総合型選抜出願時に使用する活動実績報告書について 4 2022/06/27 01:21
- 分譲マンション 中古マンション契約 中間省略登記の業者 1 2023/02/05 08:07
- JavaScript プルダウンから1個選んで、豆知識を出すプログラム。 2 2022/06/21 17:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows Media Playerを開くと...
-
Google ColaboでGUI作成
-
Ps+のフリープレイでDestiny2の...
-
本格的なGUIを作るのにおすすめ...
-
scipy っていうのをいれようと...
-
iCloudフォトライブラリ内の画...
-
Windows上でJavaかc言語を使い...
-
動画像をキャプチャするプログラム
-
iPhoneのカメラロールへ画像を...
-
プログラマーで「使えない人」...
-
マイミュージックの曲で、WMPの...
-
c言語でntpdateコマンドにあた...
-
ライブラリ作成時のグローバル...
-
Excel2003 VBE 参照設定を解除...
-
静的ライブラリから静的ライブ...
-
boostのアンインストールについて
-
メール送受信のライブラリ
-
ListViewで複数項目のドラッグ...
-
【iTunes】CDをiPhoneに取り込...
-
Qtを勉強するのに何か良い書籍...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Ps+のフリープレイでDestiny2の...
-
Windows Media Playerを開くと...
-
本格的なGUIを作るのにおすすめ...
-
python urlopen error について...
-
Google ColaboでGUI作成
-
scipy っていうのをいれようと...
-
システムコールと標準ライブラ...
-
ライブラリ作成時のグローバル...
-
強化学習の環境作成、AI。自動...
-
プログラマーで「使えない人」...
-
unix-c と linux-c の違いは?
-
C++ 標準ライブラリの実際の中...
-
マウスのクリックを自動で
-
C# EXCELセルの入力規則設定に...
-
LIBCMT.LIBをリンクしてコンパ...
-
gcc に mktemp 危険と怒られ...
-
Dreamweaverのライブラリが反映...
-
静的ライブラリから静的ライブ...
-
DLL読み込み時エラー
-
sleep関数
おすすめ情報