スパゲッティコードは避けよう! シンプルなソースコードを書くべき理由

スポンサーリンク

スパゲッティやらソースやらお腹の減りそうな言葉が並んでいますが、プログラミングする者にとってスパゲッティコードは絶対に避けた方がいいものです!

スパゲッティコードとは?

では、避けるべきスパゲッティコードとは何者なのでしょうか?
辞書を引用してみましょう。

スパゲッティコードとは?
スパゲッティコードとは、実行順序や構造が複雑に入り組んでいて、整理されていないプログラムのことで、スパゲッティが絡まる様子に例えられたものである。

出典:weblio辞書(https://www.weblio.jp/content/%E3%82%B9%E3%83%91%E3%82%B2%E3%83%83%E3%83%86%E3%82%A3%E3%82%B3%E3%83%BC%E3%83%89)

要するに無駄の多いコードということです!
数行のコードであれば差は出ませんが、長大なコードになると不要な処理はそれだけ全体の処理を重くします。

それだけならまだしも、仕事としてプログラミングをしていく上では、システムの改修や仕様変更とは無縁でいられません。

どういうことが起こるかというと、スパゲッティコードは問題が起きやすいだけでなく、問題が起きたときに何が原因か分かりにくくなってしまうのです。

でかいプロジェクトだとシステムが一瞬止まるだけで億単位の損失が出ます。
もちろんクビになります。
損害賠償までは聞いたことないですが、場合によってはそうなる可能性もゼロではないでしょう。

…と、ここまで言いましたが、たいていの仕事にはコーディングにおけるルールが存在しているので、それに従えば問題ないはず。

個人でやる場合は自己責任。
とにかく、スパゲッティコードに良いことはありませんので、きれいなコードを書くように心がけてください笑

シンプルなソースコードを書こう

上記に書いたようにスパゲッティコードには、様々な問題があります。

スパゲッティコードの問題点
  • 単純に見にくい(醜い)
  • 不要な処理が増えると重くなる
  • 問題が発生しやすい
  • 問題発生時に原因を特定しにくい
  • スキル向上を妨げる原因にもなる

こうした問題点を避ける必要があるため、シンプルなソースコードを書く必要があります。

これは個人で勉強する際にも重要なことです。
シンプルなコードを書けないというのは整理ができないということです。

なのでいくら学習したとしても、不要な処理まで残してしまうので肝心なところが頭に残りません。
そのためスキル向上を妨げることにも繋がるので、プログラミングを始めたばかりの初心者もきれいにシンプルにソースコードを書いた方がいいでしょう。
それもまた練習です!

ソースコードでスパゲッティ避ける方法

色々とやり方はありますし、熟練してくれば自分の慣れたやり方を使えばいいと思います。

でも初心者の場合は、そういう訳にもいかないと思うので、避けるための方法をいくつか箇条書きにしてみます。

スパゲッティコードを避ける方法
  • ルールを決める
  • コーディング前に設計図を作る
  • 処理はまとめずに分けて組み合わせる

たとえば大抵の現場ではコーディングにおけるルールが決められていますし、コーディング前に設計図がいくつかの工程に分けて作られています。

たとえば命名規則などがあります。
記事を投稿するシステムを作っていたとしたら、変数の名前はtoukouではなくpostと英語にするとか。

何の変数だか分かりやすくするのはもちろん、統一感のある名前を付けられる方が見やすいですよね。

では3つ目の処理を分けるというのは、どういうことでしょうか?

処理はまとめずに分けよう

ここではブログの記事を自動投稿するシステムを例に取ります。

このシステムですが、いくつかの機能に分けられそうですよね。

ブログの記事を自動投稿するシステムの機能
  • 記事内容を自動取得する
  • 記事内容を自動生成する
  • 生成した記事を自動投稿する

ざっくり分けてこんなところでしょうか。
もちろんさらに細分化することはできますが、こうして機能を書き出すのも設計図になります。

この3つの機能をそれぞれ分けて作り、組み合わせることによってシンプルなソースコードを書くことができます。

ループの中にこれら全てを突っ込むととんでもなく長大なコードになるでしょう笑

まとめ

まとめ
スパゲッティコードには問題点が多いので、それらを避けるためにもシンプルに分かりやすいコードを書くように心がけよう
スポンサーリンク
スポンサーリンク