ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

描いて書いて考える

プログラムのロジックを考える場合、頭の中で考えれる場合と考えられない場合があります。

頭の中で考えられない場合、紙にさらっと図を描いて考えるようにしています。
さらっと図を描いて、補足の文章を書くときもあります。

補足の文章はロジックであったり、注意点であったり、なぜそのようにしたのかの考えであったりします。

後々参照する可能性があるので、最近はテキストとして電子化して残そうとしています。

残す方法として、テキストエディタでもいいのですが、入力している途中に気がついてあれこれ書き足したり、処理の順番が実はこの順番ではない方がいいと気がつく機会があります。
テキストエディタでもカット&ペーストで順番を入れ替えられます。
Scrapbox、Dynalistであれば、インデントのブロック単位で入れ替えができます。
if文の単位でインデントのブロックとしていれば、キーボードショートカットで入れ替えができます。
操作しやすいツールを使うのも重要です。

図解
unsplash-logoKoushik Chowdavarapu

図を描いて補足の文章を書いた時点では、まだぼんやりしていたロジックが、テキストとして電子化しよう、後から読んでわかるようにしようと考え始めると、はっきりしてきます。
はっきりしてきた内容を入力しながら、気づきを得て、当初描いていた内容から思いもかけない結果が残る場合もあります。

文章が長々としていると、ロジックに置き換えても長々とわかりにくいです。
後から見てもわかりにくくなります。
文章を分けられないか、もっと簡潔にできないのかと考えます。

手間はかかる作業ですが、設計作業となって、コードを実際に書くときに、大枠での処理の流れで悩み始める事態にはなりにくいです。
これでいいかと思えるまで考えてからコードを書くようになっているからだと推測しています。