问题描述
我正在尝试改进我的代码,现在我想知道什么更好(性能和代码风格):
public function xxx() {
...
foreach ($customers as $customer) {
$this->createCustomer($customer);
}
...
}
public function createCustomer($customer) {
// Create customer
}
或
public function xxx() {
...
$this->createCustomers($customers);
...
}
public function createCustomers($customers) {
foreach ($customers as $customer) {
// Create customer
}
}
谢谢!
解决方法
这里有更好的版本
public function xxx() {
...
$ToBeCreatedCustomers = validateAndFormatCustomers($customers)
Customer::insert($ToBeCreatedCustomers);
...
}
public function validateAndFormatCustomers() {
$ToBeCreatedCustomers = []
foreach ($customers as $customer) {
$ToBeCreatedCustomers[] = [
'name' => $customer['name'],.....
]
}
return $ToBeCreatedCustomers;
}
,
按照SPR,第一个选项更正确。但第二种选择会更有效率。