PHP 开发中有哪些不好的编程习惯需要避免
因为 @公子 公子指出了我在一个 回复 中的错误,我才开始逐渐意识到自己已经开始养成了一些很不好的编程习惯,比如嵌套循环,比如 N
多个条件嵌套,导致 }
符号堆积,以至于代码可读性极差。之前只重视了功能的实现与否,没有忽视了代码的可读性和性能方面的体现。
这边罗列下我所知道的一些不好的编程习惯:
1.嵌套循环
2.过多的条件嵌套
3.用户提交数据不进行过滤
4.函数体过长
5.变量命名清晰
我相信有不少 PHPer
都读过 《PHP 最佳实践》,或许我们大家可以集思广益,总结一个《PHP“最差”实践》,这样也可以当做一个警示录,时刻提醒自己优化代码,希望 PHP
开发经验丰富的前辈们能不吝赐教。:)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(13)
1,拼凑SQL,如下
2, 迟迟不肯return,代码挤在一起
3, 全局变量global, 以下的
msg
函数大量调用....4,超长嵌套
5, 过多使用
@
抑制错误,不使用异常处理, 类的方法没有明确声明访问权限.太多了..不好弄...
https://github.com/justjavac/PHP-Best-Practices-zh_CN
http://youngsterxyf.github.io/2013/06/01/php-best-practices/
http://segmentfault.com/a/1190000000443795
http://wulijun.github.io/php-the-right-way/
http://thisinterestsme.com/php-best-practises/
没仔细看,可能有重复。
常规的别人都会说,我来说点激进的吧
避免上面这种写法,因为循环每一次都会重新计算一次数组长度,可以这样写:
拿自己举例,一个实现合并二维数组相同
key
的写法:我的
ugly
写法:1.不必要的嵌套循环
2.变量命名不清晰
3.
}
堆叠使得代码可读性极差@公子 的规范写法:
1.拆开循环
2.利用
PHP
自带的数组函数简化了代码3.代码可读性较强
之前翻译过一个针对新手的建议帖子 一共有三篇
其中前两篇有比较多的对于不好用法的分析和解决方案
http://ashitaka.me/%E8%AF%91/2014/01/05/40-php-tips-part-i/
http://ashitaka.me/%E8%AF%91/2014/01/06/40-php-tips-part-ii/
如果你用netbeans8.0的话,超过2还是3层的嵌套,全局变量的不经判断直接使用,一个方法写的太长(应该对功能拆分).等等,都会直接给出警告提示.一个好的IDE对提高自己的代码书写规范性和可阅读新还是很有帮助的.
慎用&
例子:
打印$arr['b'] 的值为 444;
可以改成如下:
看看《代码大全》,看看底层类书籍,如《深入理解计算机系统》,很多东西理解地足够透彻了,写代码时自然会考虑很多东西,写出来的代码也就越来越优质。
某些字符串函数与数组函数搞不清哪个是needle哪个是haystack...
js里有一种嵌套回调,层级太深了,也是巨难理解的。不过写过js的人都习惯了……
你贴的代码,之所以难读,好像和缺少换行和注释也有关系。
php版本低于5.4,看到数组定义起来那套来套去的
array(array())
,就有些不舒服。只有我一人吗?
遇到不明白的地方就去查,不要猜