仲間の開発者がプロジェクトにとらわれないコード/ライブラリをどのように管理しているか知りたいです。
たとえば、次の 2 つの関数があるとします。
function array_exclude_keys(Array $array, Array $keys){
foreach($keys as $key){
unset($array[$key]);
}
return $array;
}
function array_order_to_assoc(Array $array){
do{
$return[current($array)] = next($array);
}while(next($array));
return !empty($return) ? $return : null;
}
これらはかなり一般的な用途があります。私が現在取り組んでいるプロジェクトではarray_exclude
、少なくとも 2 つの場所と少なくとも 1 つの場所で機能が必要ですarray_order_to_assoc
。これらから意味的に恩恵を受ける他のプロジェクトを思いつくことさえできます。
ここで、必要なクラス (DRY 以外) のメソッドにそれらを記述する代わりに、単純にそれらをライブラリに修正し、include
そのライブラリをプロジェクトに追加することができます。ただし、現在、これらの機能を必要とするクラスは完全に依存しています。このような依存関係がなければ、このプロジェクトの私のクラスは文字通り「コピー、貼り付け、インクルード、およびインスタンス化」です。
他の人がそのような状況をどのように管理しているか知りたいです。