18 回答
TA贡献1780条经验 获得超5个赞
return (is_dir($this->dirPath) ? rmdir($this->dirPath) : false) ? true : false;
这种方式怎么样?
TA贡献1876条经验 获得超6个赞
应该尽早return,这样可以简化排错读代码时的难度,毕竟到第一行直接就return出去都下一个方法,总比读完100行代码发现只有第一行有用,要好的多
TA贡献1839条经验 获得超15个赞
持相反意见,个人代码习惯倾向于尽早将不适合的结果return
,最终底部的return
返回正常流程的结果。
一个显著的效果是可以很大程度减少代码的嵌套层数,这比减少程序多个出口对于代码可读性的提高影响更大。
try...catch...
只用在数据库事务的情况下,抛出异常并回退数据。
TA贡献1719条经验 获得超6个赞
中立,团队自己达成一致就可以了。
运行时差异并不大。可读性是对人来说的,如果你使用IDE,比如PHPStorm来说,IDE可以很好的检测出来是否逻辑上不可达的代码或者区间空洞这种问题,如果你再使用 phpdoc 来规范你的return 类型,IDE可以直接给你标记出来你的哪些返回是有问题的。如果你使用phpcs这种静态扫描工具再结合IDE来一起工作的话,你会发现,IDE给出的提示会非常详细。。细到你不想使用。。。
如果你说的可读性是指 文本编辑器 里的可读性,你还是在团队里面规范下IDE的使用吧。
TA贡献1893条经验 获得超10个赞
观点与你相反,函数中要尽可能多的使用 return 来控制,因为 return 从设计上来说就是这个功能,表示执行权限的移交。这样不会造成任何执行权限的问题。所谓函数,从设计之初,核心就是计算和返回。
滥用 try catch 会导致上级 try catch 无法正确捕获异常
语义化上来说,return 也比 try catch 更加清晰明了。
TA贡献1803条经验 获得超6个赞
function a($b){
$c = '';
if($b==1){
$c = 1;
}else if($b==2){
$c = 2;
}else{
$c = 0;
}
return $c;
}
TA贡献1895条经验 获得超7个赞
防御式编程
<?php
function run($a) {
if (!conditionA($a)) return false;
if (!conditionB($a)) return false;
//...
return true
}
添加回答
举报