多个迹象表明你还是PHP菜鸟
分类:php电子书查看:3111396下载:322
我愿意把本文归入我的“编程糗事”系列。尽管在正规大学课程中,接触到软件工程、企业级软件架构和数据库设计,但我还是时不时地体会到下述事实带给我的“罪恶”感,当然,都是我的主观感受,并且面向Eclipse:

你是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开发框架,懒于探索;其实先进的开发理念和美妙代码就蕴含其中。

声明:

本站所有资源均由网友贡献发布,或转载各大下载站。请自行检查软件的完整性!本网站所有资源仅供学习和参考。请勿用于商业用途,否则造成的一切后果由您自行负责!如有侵权,请联系我们删除下架。联系方式:admin@php.cn

最新课程

查看更多
  • 【web前端】Node.js快速入门
    【web前端】Node.js快速入门
    本课程专为初学者量身打造,旨在帮助学员快速掌握Node.js的基础知识与核心技术。课程从Node.js的安装与环境配置开始,逐步深入解析其异步编程模型、模块系统以及事件驱动机制。通过丰富的实战案例,学员将学会如何使用Node.js搭建高效、稳定的Web服务器,处理HTTP请求与响应,以及进行文件操作与数据库交互。此外,课程还将介绍Node.js在前端开发中的典型应用场景,助力学员快速提升实战能力,轻松应对前端开发的挑战。
  • 国外Web开发全栈课程全集
    国外Web开发全栈课程全集
    本课程是一套涵盖HTML、CSS、JavaScript、Vue.js、React、Flutter以及移动APP开发的全面教程。从基础的网页制作到复杂的前后端交互,再到移动应用的实战开发,课程内容丰富,实战性强。学员将通过一系列实战项目,深入了解并掌握各类开发技能,快速成长为全栈开发工程师。无论是初学者还是有一定经验的开发者,都能从中受益。通过本课程的学习,你将具备独立开发Web应用与移动应用的能力,为未来的职业发展打下坚实的基础。
  • Go语言实战之 GraphQL
    Go语言实战之 GraphQL
    本课程旨在帮助学习者掌握如何使用Go语言实现GraphQL服务。课程从GraphQL的基础知识讲起,深入剖析其数据查询语言的特点和优势,随后结合Go语言的特性,详细讲解如何构建GraphQL服务器、处理请求、定义数据模式等。通过丰富的实战案例,学习者将学会如何在实际项目中集成GraphQL,提升数据交互的灵活性和效率。课程适合有一定Go语言基础的开发者,是构建高效、现代化API的必备之选。
  • 550W粉丝大佬手把手从零学JavaScript
    550W粉丝大佬手把手从零学JavaScript
    本课程,专为初学者打造,由谷歌大佬亲自授课。课程从JavaScript的基础知识讲起,逐步深入,涵盖语法、函数、对象、事件处理等内容。通过生动的案例和实战练习,帮助学员快速掌握JavaScript的核心技能。大佬将亲自解答学员疑惑,分享编程心得,让学员在轻松愉快的氛围中成长为JavaScript高手。无论你是编程小白,还是希望提升技能的开发者,本课程都将是你学习JavaScript的不二之选。
  • python大神Mosh,零基础小白6小时完全入门
    python大神Mosh,零基础小白6小时完全入门
    本课程带领你踏上编程之旅。从零基础开始,这个为期 6 小时的课程将指导你掌握 Python 的基本原理和高级概念。 无论你是初学者还是希望提高技能的经验丰富的程序员,Mosh 的深入讲解和清晰的教学方法将使你快速掌握 Python。深入了解变量、数据类型、条件语句、循环、函数、对象和模块,并通过动手练习巩固你的理解。 本课程是学习 Python 的理想选择,能够为各种职业领域做好准备。Mosh 的专业知识和对教育的热情将使你充满信心,踏上成为一名熟练的 Python 开发人员的道路。