私はコレクションアイテムを取り出すことを目的としたメソッドを持っています。ブール型フラグを使用してメソッドを最適化する
コレクションには、アイテム、ペン、鉛筆、用紙などを混在させることができます。
最初のパラメータでは、私が渡したアイテムタイプ(たとえばペンや鉛筆)だけを取得するようにメソッドに指示できます。
第2パラメータは、コレクションのデフォルトアイテムタイプを使用する関数にフラグを付けます。奇妙な感じは何
getCollectionItems($itemTypes,$useCollectionDefaultItemTypes) {
foreach() {
foreach() {
foreach() {
// lots of code...
if($useCollectionDefaultItemTypes) {
// get collection's items using collection->itemTypes
}
else {
// get collection's items using $itemTypes
}
// lots of code...
}
}
}
}
は、私がtrueに$ useCollectionDefaultItemTypesを設定した場合は、最初のパラメータを使用するための機能が必要でないということです。問題は方法がif文の地域を除いて重複したコードの多くを持っているということです
getCollectionItems($itemTypes); // get the items using $itemTypes
getCollectionItems(); // get the items using default settings
:私は、次のような二つにこのメソッドをリファクタリング検討していました。
これを最適化する方法がありますか?
どのような言語ですか? – SLaks
これはもともとはPHPでしたが、私は説明のために擬似コードしていました。 – jexx2345