最新下载
24小时阅读排行榜
- 1 如何使用mysql实现多表关联展示_mysql多表关联实战
- 2 c++如何实现一个简单的BitSet_c++位集数据结构与操作【源码】
- 3 Javascript的DOM是什么_如何高效地操作网页元素?
- 4 电脑如何下载HTML5_电脑下载HTML5文件步骤与资源获取【教程】
- 5 如何使用Golang发送UDP Packet数据_GolangUDP Client发送逻辑解析
- 6 c++中的std::to_chars和std::from_chars有什么用_c++ C++17最快数字转换【性能】
- 7 如何使用Golang实现数组排序和搜索_使用sort包和自定义函数
- 8 JavaScript Service Worker是什么_它如何离线工作?
- 9 如何理解Golang方法Method_Golang方法绑定语法解析
- 10 HTML文档如何本地运行_浏览器预览步骤详解【指南】
- 11 PHP多维数组操作方法_PHP深层数组遍历处理案例
- 12 如何使用Golang实现动态类型判断_处理interface{}和具体类型
- 13 css图片在悬停时透明度变化如何实现_使用::after和opacity结合:hover
- 14 mysql如何进行增量备份_mysql增量备份实现思路
- 15 C++中的final和override关键字有什么作用?C++虚函数控制详解【OOP】
最新教程
-
- Node.js 教程
- 13938 2025-08-28
-
- CSS3 教程
- 1540167 2025-08-27
-
- Rust 教程
- 21638 2025-08-27
-
- Vue 教程
- 24176 2025-08-22
-
- PostgreSQL 教程
- 20925 2025-08-21
-
- Git 教程
- 8232 2025-08-21
你是PHP菜鸟,如果你:
1. 不会利用如phpDoc这样的工具来恰当地注释你的代码
2. 对优秀的集成开发环境如Zend Studio或Eclipse PDT视而不见
3. 从未用过任何形式的版本控制系统,如Subclipse
4. 不采用某种编码与命名标准,以及通用约定,不能在项目开发周期里贯彻落实
5. 不使用统一开发方式
6. 不转换(或)也不验证某些输入或SQL查询串(译注:参考PHP相关函数)
7. 不在编码之前彻底规划你的程序
8. 不使用测试驱动开发
9. 不在错误开启状态下进行编码和测试(译注:参考PHP函数error_reporting)
10. 对调试器的好处视而不见
11. 不重构你的代码
12. 不使用类似MVC模式把程序的不同层次划分开
13. 不知道这些概念:KISS, DRY, MVC, OOP, REST
14. 不用return而是直接在你的函数或类中输出(echo/print)内容
15. 对单元测试或通用测试的优点视而不见
16. 总是返回硬编码的HTML,却不返回纯粹的数据,字符串,或对象
17. 总是对“消息”和“配置参数”进行硬编码
18. 不对SQL查询语句做优化
19. 不使用__autoload(译注:参考PHP手册相关描述)
20. 不允许智能错误处理(译注:参考PEAR的ErrorStack)
21. 使用$_GET替代$_POST来做具有破坏性的传递操作
22. 不知道怎么利用正则表达式
23. 从未听说过SQL注入或跨站脚本
24. 不允许简易配置,也不允许类的构造函数接受参数传递而后执行set/get方法,或运行时的常量定义
25. 不理解面向对象编程(OOP)的优势和劣势
26. 不视情形大小而滥用OOP
27. 自认为实现可复用的软件一定等于/需要让你的代码遵循OOP
28. 不利用智能缺省值
29. 没有单一的配置文件
30. 不想暴露文件源码,却用.inc后缀名取代了.php
31. 不使用数据库抽象层
32. 不能保持DRY作风,即不重复自己,如果你总是在复制粘贴一些东西,说明你设计得很差劲
33. 没有实现让一个函数/类/方法只做一件事,也不能组合利用它们
34. 没能尝试OOP的特长,如抽象类、接口、多态、继承,访问控制修饰符(译注:如public, private, protected)
35. 不用现有的设计模式优化你的程序体系设计
36. 不允许你的用户在你拥有很多文件或目录的情况下定义基础目录
37. 污染了名称空间,比如用常见字符串命名你的库函数
38. 使用数据库表时不使用表前缀
39. 不使用统一的模板引擎
40. 不关注已有的PHP开发框架,懒于探索;其实先进的开发理念和美妙代码就蕴含其中。
