疑似コード・疑似プログラミングって何?言葉の違いも調べてみたよ
おはようございます。タカヒデです。
プログラミングを学んでいると、「疑似コード」「疑似プログラミング」という言葉をよく見かけませんか?
「見かけない?そうですか…でも私は見かけるんです。」
何となく「コードっぽい何か」というイメージはあるものの、「そもそも何だ?」「この2つって同じ意味?」そんな疑問を持ったんです。
ということで、この記事では「疑似コード・疑似プログラミングについて、概要や使い方」などを解説していきます。
- 疑似コード・疑似プログラミングについて知りたい
- 疑似コード・疑似プログラミングを活用した開発を行いたい
疑似コード・疑似プログラミングとは
疑似コード・疑似プログラミングとは、実際にコードを書くのではなく、日本語などの自然言語で処理の流れを説明するための書き方です。
実際に見てみるのが分かりやすいです。
例えばこんなのとか。
#ユーザーの年齢を確認する
#18歳以上ならログインを許可する
#18歳未満ならエラーを表示するこんなのがあります。
if age >= 18:
ログインを許可
else:
エラーを表示この疑似コード・疑似プログラミングは、プログラムを書く前に「どんな順番で、どんな判断をするのか」を整理するために使われます。
コンピュータではなく「人に伝えるための表現」だと理解しておきましょう。
なぜ疑似コード・疑似プログラミングが必要なのか
では、なぜ疑似コード・疑似プログラミングが必要なのでしょうか?
いきなりソースコードを書くと、初学者ほど次のような状態に陥りがちです。
- 文法が分からず手が止まる
- 処理の流れが頭の中で整理できない
- 書き直しが多くなる
そこで、先に疑似コードや疑似プログラミングで考え方だけを言語化しておくことで、以下のメリットがあります。
- やるべき処理が明確になる
- 実装がスムーズになる
- ミスや修正が減る
誰かに教えてもらわずとも、自然とやっていた方も多いのではないでしょうか。
疑似コード・疑似プログラミングは何が違うの?
「疑似コード・疑似プログラミングは何が違うのか…」これは私が疑問だった部分です。
調べたところ、疑似コードと疑似プログラミングに明確な線引きはなさそうです。
現場や記事によってはほぼ同じ意味で使われています。
そのため、「これはどっちの言葉を使うべきか?」そんなことを悩みすぎる必要はありません。
ただ、実際の開発現場では「疑似コード」と呼ぶことが多そうなので、「疑似コード」という言葉を使っておけば間違いはないでしょう。
疑似コード・疑似プログラミングを活用した開発の流れ
最期に、疑似コードから実際のコードに落とし込む流れを簡単な例で見てみます。
STEP1:自然言語で考え方を整理
まずは自然言葉で処理を整理します。
#ユーザーの年齢を確認する
#18歳以上ならログインを許可する
#18歳未満ならエラーを表示するこの段階では、プログラミング言語は一切意識せず、どういった構成で処理をするのかを表現しましょう。
STEP2:プログラム構造を意識した疑似コードにする
次に、プログラム構造を意識した疑似コードにします。
if age >= 18:
ログインを許可
else:
エラーを表示完全な自然言語だったものを、一部プログラム構造にしています。
この時点で、条件分岐の形がはっきりしたことが分かります。
STEP3:ソースコードに変換する
最後に、実際に動くコードへ落とし込みます。
if age >= 18:
print("Login OK")
else:
print("Error")疑似コードで整理できていれば、実装は「翻訳作業」で済むことがポイントです。
まとめ
以上が、「疑似コード・疑似プログラミング」についての解説でした。
- 疑似コードとは、実際にコードを書くのではなく、日本語などの自然言語で処理の流れを説明するための書き方
- メリットはやるべき処理が明確になり、実装がスムーズになること
- 疑似コードと疑似プログラミングに明確な線引きはなく、「疑似コード」を使っておけばOK
ぜひ、開発時にこの考え方を取り入れてみてください。
お疲れさまでした。
