見出し画像

プログラムの組み立て方

はじめに

こういうことを実装したい!と思ってもなかなかどう書けばいいかわらないという声を沢山いただきます
僕なりの考えではありますがそれを記述出来たらと思います

まずは日本語で考えよう

例えばですが信号を管理するプログラムを作りたいとします
仕様としては
・信号が赤もしくは黄ならStopと表示
・信号が青もしくは緑ならGoと表示
・それ以外ならNo Signalと表示
このようになっているとします

信号を管理する変数

もし信号が赤もしくは黄の場合
  Stopと表示
もし信号が青もしくは緑の場合
  Goと表示
それ以外なら
  No Signalと表示

このように一旦日本語で書きます
そしてあとはこれをプログラムに変換していきます
例えばですがJavaScriptであればこのように変換出来ますね

// 信号を管理する変数
let signal = "緑"

// もし信号が赤もしくは黄ならStopと表示
if(signal == "赤" || signal == "黄"){
  console.log("Stop");

// もし信号が青もしくは緑ならGoと表示
} else if(signal == "青" || signal == "緑"){
  console.log("Go");

// それ以外ならNo Signalと表示
} else {
  console.log("No Signal");
}

小規模のプログラムならこのように出来ますね
実はこれは頭の中で考えていることを文面に起こしただけです
このようにすると思考が文字として残るので制作中に迷子にならないと思います

もっと大きな規模の場合

中規模程度になってくると結構しんどいと思います
そんな時はまずは実装すべき機能を書いていきます
例えばですが掲示板を作るとしたら

  1. DBを用意

  2. 投稿用のフォームを用意

  3. フォームから送信された内容をDBに保存するコントローラー

  4. 掲示板の編集用のフォームを用意

  5. フォームから送信された内容を以前の内容からアップデート

みたいに書いていきます
このように細分化させてから各々の内容を先ほどのように日本語で一旦書き出してから書いていけばいいと思います
例えば3なら

送信されたデータが空白ではないかチェック
    タイトルをDBのtitleカラムへ
    本文をDBのbodyカラムへ
    DBを保存
空白なら保存しない

のようにして書いていけばイメージが容易かと思います

この記事が気に入ったらサポートをしてみませんか?