法楽日記

デジタル散策記&マインド探訪記

有効な対症療法は根本的な問題点を見つけるための大きなヒント

今日もプログラミング作業に取り組みました。

私は後遺症のため「視野狭窄」ならぬ「思野狭窄」なので、一度にたくさんのことを考えたり複雑なことを考えたりすることができません。そのため、プログラミング作業においても、いわゆる設計作業はほとんどできません。

そこで、必要そうな部品を少しずつ作って、少しずつ組み立てながら、そして時々整理整頓しながら作業を進めています。部品に求められる機能も最初のうちはあまりわからないので、まずは基本機能を大雑把に作って、必要に応じて機能追加していきます。

ところが、それぞれの場面でどのような機能が必要かをしっかり考えることも、私にとっては簡単なことではありません。そのため、動作条件によって動いたり動かなかったりすることがあります(笑)

そのような場合には、とりあえず対症療法的な修正をするしかありません。そうやって、あちらこちらに対症療法的な修正を施しているうちに、やがて根本的な問題点が見えてきます。そうなってはじめて、まっとうな修正をすることができるようになります。すなわち、有効な対症療法はより根本的な問題点を見つけるための大きなヒントとなっているような気がしています。

ただし、一気に根本的な問題が見えてくるとは限らず、根本的な問題点に一歩一歩近づいていくような場合もあります。同様に、根本的な問題点を見つけたつもりが、その奥にはより根本的な問題点が隠れている場合もあります。いずれにしても、地道に修正作業を続けていくしかありません。

そうこうしているうちに、やがて全体像が少しずつ見渡せるようになってきます。そこで、その時々の知見を用いて、少しでも厳密になるように、あるいは高性能になるように書き直していきます。これを繰り返していきます。

こんな風に、部品と経験を少しずつ積み上げるようにプログラミング作業をしています。このような方法しか取れないからでもあり、同時に今の私にはこのような進め方が一番よいからでもあります。