programing

バグ

バグは恐ろしいものである. 恐ろしい理由は2つある. 1つ目は,バグだと知らずにプログラムを実行してしまう場合があるためである. その場合は,間違って得た結果を正しいものとして捉えてしまう. このような間違った結果をバグだと分かれば良いが,バグだと分からないと非常に恐ろしい. 2つ目は,なかなかバグの原因を見つけられないためだ. 原因を見つけにくい理由は,プログラマ(自分)の思い込みがある. ここにはバグが無いだろうと考えているところにバグが潜んでいることが多々ある. Rのパッケージへの機能の追加中にバグがあることが分かった. バグの原因究明に1日以上を費やしてようやく原因が判明した. バグの発生箇所は,なんとなく予想していた. ただ,なかなか最終的な箇所の特定ができずにいた. こんな箇所にバグはないだろうと思い込んでいた場所でバグが発生していた. 修正するべき箇所が判明して,コードの修正はほんの数分で完了した. バグを見つけるまでに約1日半ぐらい,修正に数分. 本当にバグは恐ろしい. ただし,バグにも良い副作用はある. バグを探している中でコードの改善を見つけて修正したり,新しい関数の使い方を覚えたり,関数の使い方を覚え直したりなどもできた.

プログラミングと文章の構造化

プログラムを書いていると文章を構造的に書くのに役立つと思う. 関数が1つの段落だとすると,関数のトピックセンテンスは返り値である. 何を出力したいかが明確でないと,関数は書けない. ある関数から次の関数につなぐのは,引数や返り値である. これによってプログラムがつながっていく. 文章もキーワードなどによってつながっていく.