如果你还有以下这些现象,那你仍是PHP菜鸟:
最近看了个文章,写的很精辟,跟大家分享一下,这也是我的目标:
如果你还有以下这些现象,那你仍是PHP菜鸟:
1. 不会利用如phpDoc这样的工具来恰当地注释你的代码;
2. 对优秀的集成开发环境如Zend Studio或Eclipse PDT视而不见;
3. 从未用过任何形式的版本控制系统,如Subclipse;
4. 不采用某种编码与命名标准,以及通用约定,不能在项目开发周期里贯彻落实;
5. 不使用统一开发方式;
6. 不转换(或)也不验证某些输入或SQL查询串(参考PHP相关函数);
7. 不在编码之前彻底规划你的程序;
8. 不使用测试驱动开发;
9. 不在错误开启状态下进行编码和测试;
10. 对调试器的好处视而不见;
11. 不重构你的代码;
12. 不使用类似MVC模式把程序的不同层次划分开;
13. 不知道这些概念:KISS, DRY, MVC, OOP, REST;
14. 不用return而是直接在你的函数或类中输出(echo/print)内容;
15. 对单元测试或通用测试的优点视而不见;
16. 总是返回硬编码的HTML,却不返回纯粹的数据,字符串,或对象;
17. 总是对“消息”和“配置参数”进行硬编码;
18. 不对SQL查询语句做优化;
19. 不使用__autoload;
20. 不允许智能错误处理;
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的特长,如抽象类、接口、多态、继承,访问控制修饰符;
35. 不用现有的设计模式优化你的程序体系设计;
36. 不允许你的用户在你拥有很多文件或目录的情况下定义基础目录;
37. 污染了名称空间,比如用常见字符串命名你的库函数;
38. 使用数据库表时不使用表前缀;
39. 不使用统一的模板引擎;
40. 不关注已有的PHP开发框架,懒于探索;其实先进的开发理念和美妙代码就蕴含其中
如果你还有以下这些现象,那你仍是PHP菜鸟:的更多相关文章
- Mathematics for Computer Graphics数学在计算机图形学中的应用 [转]
最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=10509 [译]Mathematics for Computer Gra ...
- Mathematics for Computer Graphics
Mathematics for Computer Graphics 最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=105 ...
- 10步成为一个优秀的Java开发!
1.拥有坚实的基础并理解面向对象原则 Java开发人员必须深刻理解面向对象编程.如果没有面向对象编程的坚实基础,就无法感受到像Java这样的面向对象编程语言的美感. 如果你不太了解现象对象编程是什么, ...
- Android 已发行多年,移动 App 已经趋近饱和,那么 Android 开发还会有那么吃香吗?
一.关于Android的前景 不断地也听见很多人在谈做Android是否还有前途.Android研发在走下坡路了.Android的工作太难找了.Android是不是已经凉了...... 对于这些其实我 ...
- nuget的搭建及多源冲突
为什么使用nuget来管理类库引用就不再阐述,好处真的一抓一把.在使用nuget的时候,我们如果总去访问别人的nuget源,受限于网络情况的好坏,速度真的没法保证,更别说访问国外的源了.那好,我们来自 ...
- 优化C/C++代码的小技巧
说明: 无意看到一篇小短文,猜测作者应该是一个图形学领域的程序员或专家,介绍了在光线(射线)追踪程序中是如何优化C/C++代码的.倒也有一些参考意义,当然有的地方我并不赞同或者说我也不完全理解,原文在 ...
- net.ipv4.tcp_tw_recycle
原创 2016-03-07 CFC4N 运维帮 本文为翻译英文BLOG<Coping with the TCP TIME-WAIT state on busy Linux servers> ...
- 如何通过Visual Studio发布Azure应用程序
发布 Azure 云服务 使用 Azure Tools for Visual Studio,可以直接从 Visual Studio 将云服务发布到 Azure. 在发布 Azure 云服务之前,必须已 ...
- 编程的宗派(OOP与FP孰优孰劣)--王垠
编程的宗派 总是有人喜欢争论这类问题,到底是"函数式编程"(FP)好,还是"面向对象编程"(OOP)好.既然出了两个帮派,就有人积极地做它们的帮众,互相唾骂和鄙 ...
随机推荐
- bzoj1494【Noi2007】生成树计数
题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1494 sol :前排膜拜http://blog.csdn.net/qpswwww/artic ...
- P1613 跑路 (最短路,倍增)
题目链接 Solution 发现 \(n\) 只有 \(50\), 可以用 \(floyd\) . 然后 \(w[i][j][l]\) 代表 \(i\) 到 \(j\) 是否存在 \(2^l\) 长的 ...
- bzoj 4455 [Zjoi2016]小星星 树形dp&容斥
4455: [Zjoi2016]小星星 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 643 Solved: 391[Submit][Status] ...
- CSS Sprites技术
CSS Sprites技术,国内很多人也叫雪碧图,因为sprite麻 (你买一瓶雪碧就看得到大大的sprite字样了) 主要用于将网站的零碎图标的img标签取代,因为每个img标签引用的src就会造成 ...
- tips 前端 各个设备的页面尺寸的media query 与页面高度的经验总结
有段时间 扑了一个多月的在一个wifi的前端项目上 快做完时 各种小问题一堆一堆的修复 处理了一些很零散的问题 因为页面有一个所有页面都有一个背景色 有的页面有背景图 主要重点是移动前端的方向 因为现 ...
- CodeForces 659D Bicycle Race (判断点是否为危险点)
D - Bicycle Race Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u S ...
- Oracle中DBMS_LOB包使用小结
本文主要介绍oracle数据库中dbms_lob包的使用以及使用dbms_lob包来维护lob数据库类型的基本方法.随着社会的发展,在现代信息系统的开发中,需要存储的已不仅仅是简单的文字信息,同时还包 ...
- VMWare虚拟机如何与主机共享文件夹(最容易看懂的讲解)附图~
http://wenku.baidu.com/view/54ab9e19227916888486d776.html 新建好虚拟机并安装好系统后,在编辑虚拟机设置--选项进行以下设置: 点添加 选择你要 ...
- Uva 10158 War
并查集的应用 直接阔成2倍.后N项为对应的敌人 #include <map> #include <set> #include <list> #include < ...
- [BZOJ1032][JSOI2007]祖码Zuma 区间dp
1032: [JSOI2007]祖码Zuma Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1105 Solved: 576 [Submit][S ...