問題です。現在西鉄福岡(天神)駅に居るとして、博多駅に向かうならば?複数の交通手段があります。理由があってわざわざ時間を掛けて歩いて向かう人もいるでしょうが、バスか地下鉄を選ぶ人が多いでしょう。私は地下鉄が好きなのでそれで向かいます。あの整然とした感じが好きです。この場合結果として目的地の博多駅に着けば交通手段は自由に選ぶことができます。自由はいいものです。

プログラミング初学者を悩ませることに、この自由さがあります。コンピュータへの命令として与えたプログラムの結果が一つあるとして、そこに至るコードの「書き方」は無数にあります。その無数の書き方から適切な一つを案じて正しく書くべきなのです。ですが、酷な話です。初学者は何も知らないのに「適切に」「正しく」「一つ」を書くように求められます。暗闇に放り込まれるようなものです。コンピュータが「プログラムはこんな書き方が好き」とか言ってくれればいいのですが。闇雲に歩き回るしかありません。

最近プログラミングにおける「テストプログラム」について学んでいます。テストプログラムは「使われるプログラム」の中で動く小さな「機能」の一つ一つについて「テストコード」を書きます。上手にテストコードが書ければ、「機能が確かに働く保証」にもなるし「それがどんな機能なのか」も分かります。「どんな人が書いたのか」さえ分かるかもしれません。テストコードは一つ一つの機能に対して丁寧に書かれるべきなので冗長的に見えますが、それが「正しい」テストプログラムのあり方です。

テストプログラムは「使われるプログラム」の保証書であり説明書です。その2つがセットとして考えた場合、「使われるプログラム」の書き方は少し見えてくるような気がします。「テストが書きやすくて、テストから内容を捉えやすい」プログラムの書き方です。これはテストプログラムが「プログラムはこんな書き方が好き」と言っているように思います。テストプログラムの為にコードを書くべきではありませんが自分勝手にコードを書いていた状況からは抜け出すことができそうです。

現在こんな感じで目的地を探して歩き回っています。

就労継続支援A型事業所(株)Grow-up 利用者 Y.I