この記事はCivic Tech お役立ちツールキット Advent Calendar 2018の17日目の記事です。
CODE for GIFUではIT技術のちょっとした相談事を受け付ける「小さなIT相談室」を月1回程度の不定期で開催しています。2018年12月のテーマがフローチャートだったので、そちらを紹介いたします。
フローチャートとは?
主な活用シーン
・プログラム作成前の計画
・プログラム作成後、仕様書として残す
なぜフローチャートが役立つのか?
本当にエンジニアを目指したいのなら、絶対、フローチャートを学ぶべきです!
例えば、お風呂のお湯を沸かすフローチャートとか、オムレツをつくるフローチャートとか書けるほうが、中途半端なサンプルアプリを動かして満足するより余程役に立ちます。プログラム言語は生ものなのでドンドン新しい言語はでてくるけど、アルゴリズムは不滅だからです。
いまのエンジニアは動くプログラムを書くのは簡単にやってのけますが、設計になると途端に応用が利かなくなることがあります。アルゴリズムより、ライブラリや関数に依存してしまうからです(それはそれで幸せだけど、どこかで頭打ちになります)
また、フローチャートを書くことによって、実現したい事象が整理され、プログラムが整い変更に強いコードを書くことにもつながります。
フローチャートの書き方
現役のエンジニアがExcelを使った書き方の基本編の資料をつくってくれたので参照してください。
イベントでは、いきなりExcelで書き始めるのではなく、まず紙とボールペンで「朝食の準備」のフローチャートを書きました。手で書いてみると処理の粒度がそろっていないことや分岐の条件の設定があいまいなことがよくわかりました。
いろいろなアルゴリズムを学ぶ
再帰的なアルゴリズムもフローチャートにできます。
https://qiita.com/HMMNRST/items/18a206d56a3425e7717b
考え方を整理するのにきっと役に立つと思いますよ。