現在、業務でVBのソースを見ています。
ソースからプログラム構造や動作を理解しようと思い
ソーストレースを試みているのですが、
思うように成果を挙げることができません。
ソーストレースをするにあたり、
どのような手順を踏まえて行えばいいのかを
知りたく、掲示板に記載を致しました。
自分が行っているソーストレース方法は、
VB6.0を使って、プログラムを1ステップずつ実行し、
動作を確認しております。
※尚、詳細設計などの仕様書は一切ない状態です。
※ソースコードのみでプログラム構造や動きを確認します。
以上です。
No.1ベストアンサー
- 回答日時:
私は45年ほどコンピュータを扱ってきました。
従って今は数少ないフローチャート信仰者です。
私のやり方は、複雑なものはフローチャートに書き直します。
それほどでもないものはソース上に飛び先に飛ぶ矢印線を書き加えます。
その上でブロックを見極めて四角で囲みます。
そのあとブロックごとに流れを追いかけてブロックごとにそれらしい名前(処理内容)をつけていきます。
最後に全体を見直して終わりです。
なお、同時にエリアマップを書いていくと更にいいですね。
蛇足ですが、私の同僚にソースを眺めているだけで全部分かると言うつわものがいましたが、私にはまねできませんでした。
恐らく、囲碁や将棋の熟練者が何十手も先を読むのと同じかも知れません。
少しでも参考になれば幸いです。
最初から細かくみずに、ブロック単位で見るようにしています。
その後、詳細をみるようにしたことで、プログラム構造が
みえるようになりました。
ためになる意見を頂き、ありがとうございます^^
No.2
- 回答日時:
私はVBは分かりませんが,ソーストレースという行為自体は他の言語でも大差ないと思うので,参考までに解答させていただきます.
私の場合は,プログラムを実行するのではなく,ソースコードを印刷します.(コードが膨大な場合はPCのモニタ上で見るときもありますが,自由度が高いので私は手書きの方が好きです)
プログラムは大抵の場合,数行ごとに何らかの意味(「ファイルを開く」「計算をして何らかの値を求めている」といったもの)を持っていますから,その塊ごとにコメントをつけます.(手書き・ソースコードへのコメント追加)
そうすると,関数が何の処理をするための関数なのかが見えてくると思います.(ここでもコメントを書きます)
この操作を繰り返すと,それぞれの関数の動作が繋がって,プログラム全体でどのような操作がなされているのかが頭の中にできてくるのではないかと思います.
ある部分のコードに着目したとき,「そのコードを実行するとどうなるか」というよりは,「それが何をするためのコードなのか」を考えることが大切だと私は思っています.
参考になれば幸いです.
返信ありがとうございます!!
本当にためにあるアドバイスを頂き感謝しております。
何のためにあるのかを考えてソースを見ると、
プログラムの構造もわかり、面白く見れます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonのライブラリ、randomについて 3 2022/09/20 14:30
- HTML・CSS ホームページにブログ記事をサムネイル付きで掲載する方法 2 2022/11/25 14:55
- オープンソース IT用語、ソースとオブジェクト、改変と翻訳と翻案の違いなど どのようにりかいすればよいのですか 1 2022/09/09 10:02
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- 食べ物・食材 中濃ソース以外のソース派って他のソースに対する偏見強すぎませんか?YouTubeのコメ欄に動画に関す 2 2022/11/18 20:39
- レシピ・食事 ソース焼きそばの苦悩 素人ながらに長年料理を作ってきましたが、ソース焼きそばに関しては苦悩と後悔しか 13 2022/06/07 13:28
- レシピ・食事 お好み焼きに合うソースの作り方について 中濃ソースでお好み焼きに合うソース、中濃ソースを使った激辛ソ 1 2022/08/21 05:51
- HTML・CSS HTMLとCSS(ブラウザ関連)について質問です。 1 2023/03/07 08:07
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBプログラムをEXCEL VBAに移植...
-
API、OCX、DLLって何でしょう?
-
ソーストレースの仕方
-
初心者にEXCELのVBAを教えると...
-
このプログラミング誰か教えて...
-
SNMPトラップ情報をC#.netで作...
-
Ryzen 3700(無印)はWin11に対応...
-
OSとCPUの関係について
-
UNIX環境でのCプログラム上でC...
-
DLLってなに?
-
1年無職の彼氏 別れるべきですか?
-
全豊田作業責任者
-
6~7割の正解で、なぜ合格?
-
Excelで用語辞典を作成するには?
-
アクセスとパワーポイント、ど...
-
ExcelとWordの検定の資格について
-
☆★☆技術士(補)☆★☆
-
ウェブサービスは収益化まで長...
-
Bing 個別ページの登録の有無の...
-
EUC文字体系のhtmlから、mailto...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
API、OCX、DLLって何でしょう?
-
VBプログラムをEXCEL VBAに移植...
-
SNMPトラップ情報をC#.netで作...
-
このプログラミング誰か教えて...
-
OSとCPUの関係について
-
コンソールアプリでファイル選...
-
UNIX環境でのCプログラム上でC...
-
Ryzen 3700(無印)はWin11に対応...
-
DLLってなに?
-
VBS:コンピュータ名を取得し、...
-
VB.net エラーメッセージを英文...
-
C言語のHP-UXからLinuxへのポ...
-
Sleep命令で指定した待機時間が...
-
Perl5とActivePerl
-
大至急!!! ピクトグラミング...
-
printf系の書式「w」ってなに?
-
サイクロイドの軌跡
-
三目並べ
-
小中学校でプログラミングなん...
-
初心者にEXCELのVBAを教えると...
おすすめ情報