こんにちは、マっさんです。
この記事は以下の記事の連載です。よろしければ、以下の記事から読んでみて下さい。
#1
# 一つ前の記事
ステップ・バイ・ステップ
プログラミングは、一度に、小さな一つのことを行います。一つずつ、小さな階段を登っていくかの如く、作業を行います。
決して複数を相手にせずに作業を行っていかなければなりません。
なぜ一つずつ作業を行わなければならないのか?
複数の作業を一度に行うと、それらの作業が混線し、どれも失敗する可能性が高くなるからです。また、失敗まではいかなくとも、2つの作業がごちゃ混ぜになり、コードの質が悪くなる上に、余計に時間がかかるからです。
例えば、2つのタスクがあったとします。タスクA、タスクBです。
この2つのタスクの結果が混在し、使用されていた場合、もしタスクAの変更が入った場合には、タスクBを変更せずに、タスクAを変更しなければなりません。これは、非常に厄介な作業になります。
なので、1歩ずつ進めると、各1歩の確認が楽になります。
そして、1歩ずつ進めることは、コードの状態を把握して、コントロールできていることを意味します。そのため、不安要素がなくなり、不安を感じることのないまま、作業ができます。
心理的に圧迫されていると、普段のような質の良い判断ができません。自分の状態を良い状態にコントロールすることも、良いコードを書くために必要です。
そしたらどうすればいいの?
一度に複数やらない
例えばリファクタリングであれば、モジュール間で関数を移動する時、関数名の不備に気付いたとしても、移動と名前変更を同時に行ってはいけません。関数を先に移動して、処理が正常であることを確認してから、名前の変更を行いましょう。
この時、関数の移動を行い、きちんと正常性確認をしなければ、関数を移動し、命名を修正し、万が一不具合が見つかれば、どちらが影響し不具合が発生しているか分からなくなってしまうためです。
思考も「1歩ずつ、少しずつ」
「頭の良い人はマルチタスクができる!」と思っている方もいるかもしれませんが、そうではありません。
頭の良い方は、「シングルタスクを高速で処理している。」だけです。つまり、一歩ずつ考えている各ステップがそれぞれ早く考えられるということです。
しかし、自分の頭が悪いことを責めてはいけません。手順をしっかり踏んでコツコツ考えるようにしましょう!
このコツコツ考える上で大事なことは、論理的思考です。以下に論理的思考の簡単な考え方を一覧にしてみます。
論理的思考のコツ
- 瞬時に答えを得ようとする態度が誤りです。瞬時に分からなくても考え続けましょう。
- 考え始めてすぐに結論に飛びつくのは誤りです。条件を満たすものが1つ見つかったときに思考停止せず、思い込みを排除し、他の可能性も検討しましょう。
- 既に考えたことはメモをするか、覚えておいておきましょう。「思考のループ」を避けましょう。また、メモをする事により、視覚的に考えることも可能になります。
まとめ
如何だったでしょうか?最後の理論的思考に関しては、どれもプログラマでなくても使える考え方です。プログラマもそうでない方も、この考えはあなたの役に立つことを祈っています。
次回