プログラミング

プログラミングでハマりたくないあなたへ 絵を書くことのすすめ

記事内に商品プロモーションを含む場合があります

プログラミングをしていると、どうしても「ハマる」という現象に遭遇してしまいます。

プログラミング的な「ハマる」とは、エラーや難しい実装などで、解決の見込みが立たないまま多くの時間を使ってしまうことです。

本記事ではプログラミングではまらないようにするために、必要な手法をご紹介します。

ハマってしまう人の正体

プログラミングでハマってしまう人は、比較的解き明かされています。

どんな人がハマってしまうか確認しましょう。

エラー文言を読まない人

よくあるハマってしまう人のパターンです。

エラー文言には「どこに問題があるか」「なぜ問題が起きているか」は多くのケースで書いてありますし、親切なケースでは「どう直せばいいか」まで書いてあります。

こんな神様のような文言を何故読まないかと、ハマっている人に問うと「英語だから」とか、「読み方がわからないから」などという意味不明な供述をします。

とはいえ、親切なエラーが出ているがハマっているというケースについては、「エラー文言を読む」ということさえすれば解決するので、対処が簡単です。

プログラミングを頭の中だけで考える人

さて、ハマってしまう人のなかで問題なのが、頭の中だけで処理を考えて実装しようとする人です。

この様な人たちは「そもそも何を実現したいか?」「やりたいことを達成するために何が必要か?」といった根本的なことを聞いてみると、自分で説明できないケースがほとんどです。

頭の中で考えて、うまくいきそうだ!と思って実装を進めてみたは良いものの、途中で詰まってしまい、そもそも何をしたいのかすら分からなくなってしまうという事が起きているのです。

そんなこと無いよと思うかもしれませんが、これ実話なんです。

私の勤めている会社の新人に、この様なタイプの人がいます。

「XXXという処理でエラーが出てしまっています。どうすれば良いのか分からなくなってしまっています。」というチャットが日々飛び交っているんです。

彼らの問題は、頭の中だけで処理を考えて言語化しないということです。

絵を描くと良い

プログラミングをする場合に絶対に必要なことは、絵を描いてみることです。

頭の中で考えた処理を言語化することが大切です。処理を言語化しておくことによって、ハマったときにどこの処理がおかしいかな?とか、今自分は何をしているのか?など分かるようになります。

別に詳細設計書の様な、しっかりとした資料を作る必要はないんです。

以下のようなものだけでもいいのでとりあえず描いてみましょう。

  • フローチャート
  • ER図

これを描くだけでもだいぶ違います。設計図のようなものを描いているので、自分のやりたいことや処理を設計図と比較して、処理を確認することができるようになるためです。

弊社の新人には、修正や新規の実装をする際に、必ずフローチャートを描かせています。いまだに自分で描いた絵を見ないで分かりませんと言っていることはありますが、描かなかったときよりはだいぶマシになっています。

もしプログラミングをしているときに「自分が何をしているのか?」「何が間違っているのか分からなくなってしまう」といった方は、是非絵を描いてみてください

UML は知っておくべき

プログラミング関連で絵を描く際に、少し専門的なところで「UML」というものがあります。

UML とは、Unified(統一な) Modeling(モデリング) Language(言語)の略です。

つまり、書き方が統一された図です。

絵を描いて見るときに、UML を使用して絵を描くことができれば、他の人に見せても内容を理解してもらうことができます。

また、統一された図ということだけあり、分かりやすく伝えることができるようなルールになっているので、UML のルールに従って描くことができれば、分かりやすい図を描くことができます。

以上から、絵を描くために知っていれば必ず役に立つので、UML は知っておくべきです。

まとめ

プログラミングでハマらないようにするために、実装をする前に絵を描きましょう

頭の中だけで処理をイメージして実装することができるのは、超人だけです。

絵を描いて処理を言語化してから実装すれば、ハマる可能性は大きく減ります。

また、絵を描く際には UML を知っておくと非常に効果的です。描いた絵が自分で分かりやすくなったり、他の人も理解できる絵を描くことができるようになります。

UML を勉強するには、マーティン・ファウラーというIT業界の凄い人が書いた「UML モデリングのエッセンス 第3版」という本がおすすめです。

UML モデリングのエッセンス 第3版