質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.19%

モジュール化を理解してもらうには?

解決済

回答 6

投稿 ・編集

  • 評価
  • クリップ 0
  • VIEW 2,897

kida

score 20

はじめまして。
今度研修でアルゴリズムを教えることになりました。
文系出身のプログラミング初心者に、モジュール化について理解してもらうには
どう説明すればわかりやすいでしょうか?
参考サイトなどがあれば教えて下さい。
よろしくお願いします。

----追記----
すみません。記述が足りませんでした;
モジュール化の利点として以下を挙げており、
この利点をどう伝えれば理解しやすいのか..と悩んでいる状態です。

モジュール化の利点
1.プログラムがみやすくなる
2.プログラム毎の正当性や機能の確認ができ保守性が向上する。
3.モジュールを別のプログラムへ再利用する事が可能となる。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 6

checkベストアンサー

+6

例えば火を起こすときに、わざわざ薪を取ってきて摩擦を利用して苦労して火を起こすより、ライターで火をつけた方が早くて楽ですよね?

これと同じようにみんなが何度も使うような機能は便利な道具(モジュール)として切り出しておいたらみんなが火起こししなくて楽ですよね。的な説明はいかがでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

たとえば、特定の文字列ないし文章をHTML としてマークアップする、というのを想定すると、効果的かもしれません。

最初はただただ命令を羅列して設定した目的を達成します
// 問題A に対する答え
var answerA = '<h1 class="title">' + 'answer text' + '</h1>';
// 問題B に....
// var ....

そこから徐々に 重複の排除を中心に関数に切り出したり、ループ制御を導入したり、最終的にモジュールとしてまとめたりしていくのがよいのではないでしょうか。

function tag(string) { return '<h1>' + string + '</h1>'; } // first version
function tag(name, string) { /* .... */ }                  // second version
function tag(name, attributes, string) { /* .... */ }      // new version

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

特に参考サイトとかはないですが、ファイルやメソッドのコードが長い場合に
「プログラミングは粘土細工ではなく、積み木細工にするのが理想」
と言うことはあります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

単純に良い例、悪い例を見比べて見るのがいいかと。

百聞は一見に如かず

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

モジュール化ってつまり機能をまとめてパッケージ化すると良いと説明したいんですよね
プログラミングでなくても「浴槽とシャワーはまとめてしまったほうがよい」くらいの説明ではダメですか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

- マンガで分かる JavaScriptプログラミング講座 関数 http://crocro.com/write/manga_javascript/wiki.cgi?p=%B4%D8%BF%F4
...
何度も行う処理を一度だけ書いて済ませる方法法がある。それが関数だ。
...

研修で伝えたい モジュール化のレベルがどこまでを指しているかは不明ですが、
この辺りから始めて、クラス、フレームワーク ... などまでを説明していけるのではと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.19%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る