PHP コードを書く前に

ichikawaです。

PHPの構造化プログラミングについて書きます。

いままでは”コードを書く上で”の書き方、構造を学びましたが、今日は”コードを書き初めるまで”の計画、準備の勉強をしました。

2つの性格

プログラマーがコードを書くにあたっては簡単には2つの種類に分類されるようです。それは

  • コードを書く前によく考える
  • とりあえず書いてみる

です。もちろん極端に全く書かなかったり、全く考えなかったりという意味ではなくて、どちらか寄りになるという意味です。
自分はどちらかというと、後者の”書く前によく考える”派です。
これは自分の欠点だと思います。
考えすぎて、結局時間だけがどんどん過ぎて行くパターンです。
きれいなコードを書きたいと思うあまり、完全な計画ができないとダメなタイプです。
できる時はできますが、仕事では時間に間に合わないと最悪ですね。
この点については講師の方からも何度が指摘されました。
ではどうするか?
ということで、今回の授業はとてもタメになりました。

まずは思いつくまま洗い出しをしてみる

さて、ここで最初に”洗い出し”という作業をしてみました。これはそのままで、目標(コードを完成させ、動くプログラムを作ること)に向かって、何をすれば(どういった処理をすれば)良いのか、とりあえず挙げれるだけ挙げて見ようというものです。
例えば、今回は前回から作っている一行掲示板についてやってみました。
一行掲示板をつくるには何が必要なのか、研修生5人で列挙してみました。
それには「本文入力欄」、「名前を書き込める」、「文字制限」、「投稿ボタン」、「ファイルが必要」、「内容の保存、表示」、などなど100個くらい案が出ました。
これらをおおまかにまとめてみると

  • 画面
  • 書き込み
  • 読み込み
  • エラー関係

に分けることができました。
ここまで出来ると、各処理の分け方が随分見えてきました。
「あれも必要だな、これも必要だな」という事をどこで処理すれば良いか、配置場所が明確になったのです。
私も、この全員で挙げたリストを見て、細かい処理とその配置がよく見えたので、「まず必要な処理を挙げる」ということの大切さと、効果を実感しました。

処理の流れをつくる

洗い出しをしてみると、関数分けする際に分かりやすくなったりなど、まとめることに関しては明確になりましたが、各項目同士がどのように影響し、どこからどこに処理が流れていくのかはわりと見えづらいです。

ではどうするか。
答えは処理の流れも簡単に考える事です。
この一行掲示板の場合、表示と、文が書かれたファイルがあり、その間にあるロジックで、ファイルに書き込みしたり、読み込んだりするわけです。重要なのは、そこで何の、どんな値を渡し合ったりすれば良いかを決めることです。
ここでまとめた処理をつなげ、どこからどこへ流れて行くのか、具体的にコードの流れを把握することをしました。

以上、主にこの「洗い出し」と「処理の流れをつくる」ことによって実際にコードを書き始めてみると、「なんとなくスムーズに進められている。」と感じました。頭の中で考えたり、不完全なまとめをしてから書き始めるよりもずいぶんイメージが広がりながらコードを書くことができました。スピードも全然違います。
もちろん完璧な計画ではありませんが、書きながら「あ、ここはこっちの方がいいな」と思った場合にも、事前計画があるとある程度先が見えているので大きな混乱になってしばらく止まったりすることが少なくなると思います。

コードを書き始める前の事前計画をすること、それは「目標への道筋を見えるようにする」ことだと思いました。

私はいつもコードを書き始めることが不安定でしたので、今日の講習で得たものはとても大きかったです。

—-
(2008/07/08 17:32 hirafuji追記)
動画をご覧下さい〜!

part.1

part.2

コメントをどうぞ

名前: (Required)

eMail: (Required)

Website:

Comment:

Spam Protection by WP-SpamFree