先輩!何で「コピペ」は駄目なのに「composer require」は良いんですか? by きんじょうひでき

PHPカンファレンス福岡2023
レギュラートーク(15分)

先輩!何で「コピペ」は駄目なのに「composer require」は良いんですか?

o0h_ きんじょうひでき o0h_
4

https://www.google.com/search?q="コピペプログラマー"

既存のコードをクリップボードにコピーして、然るべき場所に貼り付けることで、プログラミングを遂行することが出来ます。
それなのに、世の中ではそれを良しとしない風潮もあるぞ!とは、みなさんも感じているところではあると思います。
他方で、 composer require darekano/nankano-package をしても、それを見て「なんなのコイツ」と感じる人は少ない気がするんですよね。

どちらも「目的(要求を満足させるための振る舞い)を実装するために、コードを再利用する」という点では差がないはずです。
同じコードを世の中に増殖させる・・・!
それなのに、なぜ前者は駄目で後者は許容されるのでしょうか・・?不思議です。

駄目と言われるからには、開発者にとって必要な何か(特定の品質特性)を損ねるし、問題があるのでしょう。
良しとされるからには、そうしたダメージを回避しているか、あるいは品質を向上させる働きがあるはずです。

このセッションでは、「みんなが言っている当たり前」を理屈で考えてみようと試みます。

★ コードの再利用とは

  • 再利用によって達成できること
  • 「悪い再利用」がもたらす悪影響
    • モジュールの結合の観点から
    • 凝集度の観点から
  • 「良い再利用」なんて本当にあるのか
    • 移植性の観点から
    • 抽象度の設計の観点から
    • 「seam」「分離」の観点から

★ コードに対する進化、フィードバックとは

  • ソフトウェアを進化させるためのフィードバック
  • コードの「淘汰」「枯れる」のメカニズムを信頼する
  • 「伽藍とバザール」の話と絡めて考える

★ 目先の「書く」ではなく、もっと先の「読む」「書き換える」のための品質を獲得しよう