作为程序员一定要保持良好的睡眠,才能好编程

PHP 代码简洁之道

发布时间:2019-08-17



PHP 代码简洁之道——变量部分

PHP 代码简洁之道——函数部分(一)

PHP 代码简洁之道——函数部分(二)




5.不要使用标志做函数参数

标志相当于告诉使用者,这个函数不止做一件事。函数应该只做一件事,如果函数根据布尔值执行不同代码路径,则你应该将函数拆分。


不好的:


function createFile($name, $temp = false)
{
    if ($temp) {
        touch('./temp/'.$name);
    } else {
        touch($name);
    }
}

好的:


function createFile($name)
{
    touch($name);
}
function createTempFile($name)
{
    touch('./temp/'.$name);
}



一个函数只做一件事


这是软件工程中最重要的原则。

不好的:


function emailClients($clients)
{
    foreach ($clients as $client) {
        $clientRecord = $db->find($client);
        if ($clientRecord->isActive()) {
            email($client);
        }
    }
}

好的


function emailClients($clients)
{
    $activeClients = activeClients($clients);
    array_walk($activeClients, 'email');
}
function activeClients($clients)
{
    return array_filter($clients, 'isClientActive');
}
function isClientActive($client)
{
    $clientRecord = $db->find($client);
    return $clientRecord->isActive();
}






函数名要能说明它是做什么的

不好的:


class Email
{
    //...
    public function handle()
    {
        mail($this->to, $this->subject, $this->body);
    }
}
$message = new Email(...);
// 这是什么?一条消息的句柄? 你是要写一个文件么?(读者的疑问)
$message->handle();

好的


class Email 
{
    //...
    public function send()
    {
        mail($this->to, $this->subject, $this->body);
    }
}
$message = new Email(...);
//  一目了然
$message->send();