重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

http://oshiete1.goo.ne.jp/qa2419133.html
で,わたしの質問に対して#2さんにいただいた回答を
ほぼそのまま活用しています.

「もっとわかりやすく関数化したりしてください」とありますが,
たとえば,#2さんが示されたどの部分が関数化できますか.

共通処理部分を
function func_name()
みたいに定義するらしいことくらいしかわかりません.

関数化により,後々のコーディングで楽できることはわかるのですが
具体的な発想がないため着眼できません
(教わりさえすればいつも,おおそうか!と目からウロコなんですけど)

A 回答 (1件)

関数化するということには、



「共通の処理を1カ所で行うことでバグを減らす」

ことの他に、

「要点をまとめ、プログラムをすっきりさせる」

という使い方もあります。

長い話をずらずらとされるより、まずは要点を聞き細かいことは後で聞くという方がわかりやすいと思いませんか?

例にあげたコードでは、
・前半部分はエラーのチェック
・後半はエラー画面表示
となっています。

ですから、そのまま

$emsg = checkError($_POST);
if($emsg != null){
dispError($emsg, $_POST);
}

というようにすることが考えられます。
checkError
dispError
が関数化したものです。

どの箇所を関数にするかは、センスや経験などの要素が大きいので、全ての人が同じような関数にするとは限りません。
    • good
    • 0
この回答へのお礼

ngsvxさん,御礼が大変遅くなって失礼しました.

> 「共通の処理を1カ所で行うことでバグを減らす」
> 「要点をまとめ、プログラムをすっきりさせる」

どっちも喉から手が出るほど欲しい&習得したいテクです・・

> 例にあげたコードでは、

> というようにすることが考えられます。

なるほど・・なかなかおくが深いですね.
記述方法(文法)も初めてみたものなので,思わず調べてしまいました・・

> どの箇所を関数にするかは、センスや経験などの要素が大きいので、
> 全ての人が同じような関数にするとは限りません。

なかなか実務で開発に従事しないと,独学では難しいですかね.
努力次第なことは承知してるのですが,
質問から得られるご回答だと,目からうろこばっかりです.

アドバイスありがとうございました.

お礼日時:2007/01/30 10:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!