`

40个迹象表明你还是PHP菜鸟[轉載]

阅读更多

简介

英文版权归Reinhold Weber所有,中译文作者yangyang(aka davidkoree)。双语版可用于非商业传播,但须注明英文版作者、版权信息,以及中译文作者。翻译水平有限,请广大PHPer指正。

 

我愿意把本文归入我的“编程糗事”系列。尽管在正规大学课程中,接触到软件工程、企业级软件架构和数据库设计,但我还是时不时地体会到下述事实带给我的“罪恶”感,当然,都是我的主观感受,并且面向Eclipse

你是PHP菜鸟,如果你:

1. 不会利用如phpDoc这样的工具来恰当地注释你的代码
2. 对优秀的集成开发环境如Zend StudioEclipse 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开发框架,懒于探索;其实先进的开发理念和美妙代码就蕴含其中。

译注:另有马永占翻译版本《PHP程序员的40点陋习》,简洁并配有译者注释。

 

分享到:
评论

相关推荐

    40个迹象表明你还是PHP菜鸟.rar

    40个迹象表明你还是PHP菜鸟

    多个迹象表明你还是php菜鸟

    你是PHP菜鸟,如果你: 1. 不会利用如phpDoc这样的工具来恰当地注释你的代码 2. 对优秀的集成开发环境如Zend Studio或Eclipse PDT视而不见 3. 从未用过任何形式的版本控制系统,如Subclipse 4. 不采用某种编码与...

    40个迹象表明你还是PHP菜鸟

    尽管在正规大学课程中,接触到软件工程、企业级软件架构和数据库设计,但我还是时不时地体会到下述事实带给我的“罪恶”感,当然,都是我的主观感受,并且面向Eclipse: 你是PHP菜鸟,如果你: 1. 不会利用如phpDoc...

    9个视频教程让你摆脱系统菜鸟称号

    教程名称:9个视频教程让你摆脱系统菜鸟称号课程目录:【】BIOS设置【9个视频教程让你摆脱菜鸟称号之四】【】DM万用版给硬盘分区【9个视频教程让你摆脱菜鸟称号之九】【】Fdisk分区格式化【9个视频教程让你摆脱菜鸟...

    菜鸟操作WINDOWS大全 工具

    菜鸟操作WINDOWS大全菜鸟操作WINDOWS大全菜鸟操作WINDOWS大全菜鸟操作WINDOWS大全菜鸟操作WINDOWS大全菜鸟操作WINDOWS大全菜鸟操作WINDOWS大全菜鸟操作WINDOWS大全菜鸟操作WINDOWS大全菜鸟操作WINDOWS大全菜鸟操作...

    16个 保姆级 Python 菜鸟教程.docx

    16个 保姆级 Python 菜鸟教程16个 保姆级 Python 菜鸟教程16个 保姆级 Python 菜鸟教程16个 保姆级 Python 菜鸟教程16个 保姆级 Python 菜鸟教程16个 保姆级 Python 菜鸟教程16个 保姆级 Python 菜鸟教程16个 保姆级...

    菜鸟快速运行第一个hibernate

    标题“菜鸟快速运行第一个hibernate”表明了这是一个针对初学者的教程,旨在帮助他们快速上手并成功运行他们的第一个Hibernate项目。Hibernate是一个强大的Java ORM(对象关系映射)框架,它简化了数据库操作,使得...

    久游菜鸟私服编辑工具

    【久游菜鸟私服编辑工具】是一款专为游戏爱好者和初级开发者设计的轻量级服务器编辑软件,主要用于创建和管理私人游戏服务器,即“私服”。它以其简易的操作界面和易上手的特点,使得用户无需深入理解复杂的编程语言...

    菜鸟窝 菜鸟商城 菜鸟新闻全套

    # 菜鸟商城 # 是一个仿淘宝客户端的实战课程,功能包括:1.支付(支付宝,微信,百度钱包) 、首页 、热卖 、商品大全 、购物车 、我的 、商品列表 、商品详情 、注册/登录 、收货地址 、我的订单 、我的收藏 ..... ...

    W3SCHOOL 菜鸟教程chm

    《W3School 菜鸟教程CHM》是IT学习者不可或缺的资源,它提供了丰富的Web开发知识,包括HTML、CSS、JavaScript等基础语言到PHP、SQL等后端技术的全面教程。...无论是自学还是作为参考书,都是一个理想的选择。

    java菜鸟教程_JAVA菜鸟教程_

    总的来说,【JAVA菜鸟教程】是一份全面而详尽的学习资源,无论你是完全的新手,还是希望进一步巩固基础,都能从中受益。通过系统地学习和实践,你可以逐步掌握Java编程技能,为成为一名熟练的Java开发者打下坚实基础...

    上海菜鸟驿站POI_excel_POI_上海_菜鸟驿站_

    标题中的“上海菜鸟驿站POI_excel_POI_上海_菜鸟驿站_”暗示了这是一个关于上海地区的菜鸟驿站位置信息的数据集,主要以Excel表格(POI是Point of Interest的缩写,通常指地理位置信息)的形式存储。描述进一步确认...

    Python3菜鸟教程离线版20200914(含完整菜鸟教程网页及CHM版文档)

    菜鸟教程网站上的Python3教程还挺详细,想在没有网络的电脑上离线看但是发现网上没有资源,只有老版本的PDF文档,实在不方便阅读,所以自己做了一个,Python3菜鸟教程离线版内部包含20200914保存的完整离线版教程...

    w3cschools菜鸟教程整站离线打包完美web开发前端后端

    总结来说,"W3cschools菜鸟教程整站离线打包完美web开发前端后端"是Web开发者的一份宝贵资源,它集成了全面的Web开发知识,无论你是初学者还是有经验的开发者,都能从中受益。通过系统的学习和实践,你将能够独立...

    SCOOL菜鸟论坛

    此程序的核心是PHPWIND3.0.1 在此基础上美化了程序,并添加了首页调用 首页调用的地址为http://你的论坛地址/home.php 论坛的安装方法:先执行...菜鸟学堂,欢迎你! 菜鸟论坛地址为:http://bbs.cnxt365.com

    菜鸟浏览器

    "菜鸟浏览器"是一款专为搜索QQ空间背景音乐设计...通过以上分析,我们可以看出"菜鸟浏览器"在实现上融合了网络爬虫技术、前端交互、数据解析等多个IT领域的知识,为用户提供了一个高效且方便的QQ空间背景音乐搜索工具。

    w3cschool菜鸟教程.CHM.rar

    总的来说,《w3cschool菜鸟教程.CHM》是一个全面且实用的学习资源,无论你是完全的编程新手还是希望扩展技能的开发者,都能从中受益。通过这个离线版教程,你可以在没有网络的情况下自由学习,逐步掌握IT行业的核心...

    w3cschool菜鸟教程

    《w3cschool菜鸟教程》是一本非常受欢迎的在线学习资源,主要针对初学者,旨在帮助他们快速掌握网页开发和编程技术。这个教程涵盖了广泛的知识点,包括HTML、CSS、JavaScript、PHP、SQL以及Web设计等多个领域。让...

Global site tag (gtag.js) - Google Analytics