当前位置: 首页 > 后端技术 > PHP

WritecleanPHPcode

时间:2023-03-29 22:07:00 PHP

简评:CleanCodePHP,是基于RobertMartin的经典编程书籍——《CodeCleanCode》版本的PHP,不是风格指南,而是在PHP中编写干净代码的可读、可重用的指南和可重构软件。当然,避免机械地遵循这里的原则。不要添加不必要的上下文如果您的类名或对象名具有特定含义,请不要重复该变量的名称。错误:title='Foo';$config->body='Bar';$config->buttonText='Baz';$config->cancellable=true;functioncreateMenu(MenuConfig$config){//...}一个函数应该只做一件事这是软件工程中最重要的规则。当函数做不止一件事时,它们就更难编写和测试。当您可以将一个函数隔离为一个动作时,它可以很容易地重构并且代码将更具可读性。错误:find($client);如果($clientRecord->isActive()){电子邮件($client);}}}好的:函数emailClients($clients){$activeClients=activeClients($clients);array_walk($activeClients,'email');}functionactiveClients($clients){returnarray_filter($clients,'isClientActive');}functionisClientActive($client){$clientRecord=$db->find($client);return$clientRecord->isActive();}使用get和set方法在PHP中,您可以为方法Word设置公钥、受保护密钥和私钥,它控制对象属性的可见性。这是面向对象设计原则中开放/封闭原则的一部分。差:classBankAccount{public$balance=1000;}$bankAccount=newBankAccount();//买鞋...$bankAccount->balance-=100;好:classBankAccount{private$balance;公共函数__construct($balance=1000){$this->balance=$balance;}publicfunctionwithdrawBalance($amount){if($amount>$this->balance){thrownew\Exception('Amountgreaterthanavailablebalance.');}$this->balance-=$amount;}publicfunctiondepositBalance($amount){$this->balance+=$amount;}publicfunctiongetBalance(){return$this->balance;}}$bankAccount=newBankAccount();//Buyshoes...$bankAccount->withdrawBalance($shoesPrice);//获取余额$balance=$bankAccount->getBalance();译文:适用于PHP的简洁代码概念