(jp) =
私は可能な限り PHP の型システムを使用していますが、Twitter や Reddit でやり取りする人々からはしばしば抵抗を受けました。 このトピックについて何度も話し合った後、両方の「キャンプ」がお互いの話をあまり聞いていないか、少なくともお互いのポイントを理解していないように感じました.
私たちが働いているチームや、私たちが取り組んでいるプロジェクトの種類が、型システムの使用に対する私たちの見方に影響を与えるのではないかと考えました。
ちょっとした調査を行い、このトピックに関する実際の洞察を集めることにしました。
公正な警告: 私はこの議論で中立的なプレーヤーではありませんが、私自身の主張をするつもりはなかったことを明確にしたいと思います. 私たちの一見無意味な議論が、文脈の違いによって引き起こされているのではないかどうかを確認したかったのです。 真の答えが 1 つしかないことを証明したくありません。
以上のことを踏まえて、結果を見てみましょう。
まず最初に、このアンケートに参加してくださった 686 名の皆様に感謝いたします。 これが小さなグループであることは認識していますが、いくつかの結論を導き出すのに十分な代表的なものであることを願っています. 結果が十分に正確ではないと思われる場合は、私に連絡して、この調査をより大規模にやり直すことができるかどうか、およびその方法について話し合ってください。
アンケートの回答に基づいて、5 つのプロファイル グループを作成しました。 A
、 B
、 C
、 D
と E
. A
と B
より厳密な型システムに(強く)傾く C
やや中立であり、 D
と E
型システムを使用しない方向に(強く)傾く。
この「タイプ プロファイル」は、関連する質問への回答をスコアにマッピングすることによって決定されました。厳密なタイプ システムに有利な回答には 1 点と 2 点、どちらでもない回答には 0 点、タイプ システムなしに傾いている回答には -1 点と -2 点が与えられました。
すべての参加者のタイプ プロファイル
すぐに際立ったことの 1 つは、厳格な型システムの使用に傾倒している多数の人々です。 私はこれを期待していませんでした。 Twitterでの議論から、グループに参加する人が増えると感じました C
、 D
また E
.
これらは、PHP の型システムの使用に反対する最も一般的な議論の一部であり、少なくとも私の議論で聞いたものです。
- PHP の型システムは依然として実行時に失敗するため、使用する利点はありません
- 型は不要なビジュアル オーバーロードを追加します
- PHP の型ジャグリングを使用する柔軟性が優先されます
もちろん、この調査では、個人の好みとチームおよびプロジェクトの規模との間に相関関係があるかどうかを調べたいと考えていました。 まず、チームの規模を見てみましょう。
このグラフは、チームの平均サイズと、グループごとのそのグループ内のタイプ プロファイルの分布を示しています。
チームサイズごとにグループ化されたタイププロファイルの分布
相関関係があるかどうかをテストするには、相対的な結果を調べる必要があります。 ここに行きますが、次のグループがあることに注意してください 2-10 people
、群を抜いて最大です。
チームサイズごとにグループ化された、相対的なタイプのプロファイル分布
議論に基づいて、予想どおり:プロファイル D
と E
小規模なチームに多く存在します。 それでも、私はそのグループが再び大きくなるだろうと思っていたことを認めます.
次に、プロジェクトのサイズを見ました。 私は参加者に、彼らが取り組んでいる平均的なプロジェクトの規模を、小規模、中規模、大規模、特大規模のいずれかで説明するように依頼しました。
プロジェクト サイズ別にグループ化された、相対的なタイプ プロファイルの分布
このグラフは、タイプの成長を示しています A
と B
、プロジェクトのサイズに関連しています。 ほとんどの場合、「プロジェクトのサイズ」は「プロジェクトの期間」にも変換されます。そのため、このような平均的なプロジェクトのプロジェクト期間を参加者に評価してもらいました.
プロジェクト期間ごとにグループ化された、相対的なタイプのプロファイル分布
繰り返しになりますが、より長いプロジェクトではより厳密な型システムが好まれますが、もちろん、これらのグループの参加者が少なかったことに注意する必要があります. さらに、この場合、以前のチャートのように発見する線形パターンがないことも興味深いと思いました。
# 結論
残念ながら、ここで最終的な結論を導き出すには、あらゆる種類のプロジェクトとチームの規模に分散した参加者が十分ではなかったと思います。
前もって、型システムを使用しないことを好むグループの方が大きいと思いました。 でも、もっと小さくても、もっとボーカルなグループなのかもしれません? 一概には言えませんが。
少数の参加者であっても、型システムの使用とプロジェクトおよびチームのサイズの間に相関関係があると推測できると思います。 しかし理想的には、より大きな参加者プールが必要です。
私の個人的な意見としては、型システムの議論に参加するときは、お互いの好みを比較することに注意する必要があるということです。まったく異なる種類のプロジェクトで作業しているだけで、どちらが正しいか、どちらが正しいかを判断する方法がないという場合もあるでしょう。違う。