0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

コードコンプリート<上> −2−

Last updated at Posted at 2025-03-06

第2章 ソフトウェア開発への理解を深めるメタファ

メタファ:たとえ、現象を余すことなく描写しているもの
メタファを利用したものとしてモデル。
モデルは、真の姿を写し、概念全体を把握しやすくする。

良いメタファと悪いメタファがある。
良いメタファ:単純、他のメタファと矛盾しない。証拠や現象を説明できる。
Kの疑問:悪いメタファとは、何だ。複雑で、真の姿(現象)と矛盾が生じるもの?

ソフトウェアメタファは、答えの場所ではなく、どうすれば見つかるかを教えてくれる。
メタファは、直接的なナビみたいなアルゴリズムではなく、間接的にアドバイスみたいなヒューリスティックのことである。

プログラミングの課題は、問題を概略化すること

ソフトウェア開発にはたくさんのメタファが用いられている。

  • コードを書く→手紙を書く(試行錯誤の連続。書いては捨てる)
  • システムを育てる(ソフト開発)→種を巻いて作物を育てる(設計を少し、コードを少し、テストを少し。少しずつ追加する。問題を最小限に抑える。)
  • ソフトの成長→Accuretion、真珠みたいに蓄積(取り込みを重ね続けて、成長する。)
  • ソフトの構築→ビルド、建築(複雑なものほど、作る前段階を丁寧に構築する。)
  • 知的道具箱(テクニック、トリック、魔法のおまじない)→ふさわしい道具と、それを正しく使う方法を知っている。メタファもその一つ

Kの周りを振り返ってみて、ディスカッションの場で、人に理解を伝える人が上手い人は、たとえがうまい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?