わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

プログラムを説明する (4)動作しない状況の説明

f:id:takehikom:20220224222114j:plain
「次は,プログラムが動作しない状況での,説明の仕方です.
 まずは,どういう状況なのかを,伝えましょう.『コンパイルエラー』か,『エラーはないけれど結果がおかしい』か,です.
 なお,実行中に,エラーを報告して終了という場合も,考えられます.『実行時エラー』または『ランタイムエラー』とも呼ばれます.何も出力しなかったり,無限にメッセージを出力したりするような状況についても,作成した人にとってそれらが意図したものでなければ,『エラーはないけれど結果がおかしい』に当たると思って,かまいません.
 次に…」
f:id:takehikom:20220224222122j:plain
「『出力は,どのようになっているか』を説明します.
 コンパイルエラーの場合には,エラーメッセージが,出力となります.
 ここで,コンパイルエラーにせよ,そうでない場合の出力にせよ,出力は『説明』しないことを,心がけてください.かわりに,表示されている内容を,コピーして,貼り付けましょう.文を書くなら,その前に『出力(またはエラーメッセージ)は次の通りです』と書けば十分です.
 メッセージのコピーと貼り付けが,難しい場合には,SVGのlineタグの事例のように,出力のスクリーンショット(画像)を作って送るようにしてください.
 説明の3番目は…」
f:id:takehikom:20220224222134j:plain
「原因となっている箇所,『どの関数の中』だとか,行番号を,特定できているかどうかです.特定できていればその関数名や行番号を明記しましょう.と言いたいのですが,『29行目のあたり』のように,ぼかした表現を使うこともあります.特定できていない場合には『どこが原因かわかっていません』と書くほうがよいです.
 最後に…」
f:id:takehikom:20220224222146j:plain
「この,プログラムが期待どおりに動作しない状況で,『何ができればよいか』をうまく,説明できると,相手の行動がしやすくなることがあります.『理想と現実のギャップを埋める』ための,作成者から,相談者からの,第一歩となります.
 とはいえ,授業などで先生に,デバッグの手助けを求めるのであれば,『どのようにすればよいでしょうか』で文章を締めくくって,送るのが,無難ではあります」