`
chengxianju
  • 浏览: 260146 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

不知道这些,一定是php菜鸟

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

 

1. don't comment your code properly with something like phpDoc

   2. don't see the need and/or benefits of a good programming IDE like Zend Studio or Eclipse PDT

   3. have never used some form of version control like Subclipse

   4. don't adopt some coding & naming standards and general conventions and stick to to them at least throughout the project

   5. don't use a consistent methodology

   6. don't escape and/or validate properly input or sql queries

   7. don't plan your application thoroughly before starting to code

   8. don't use test-driven development

   9. don't program & test with error reporting on

  10. don't see the benefits of a debugger

  11. don't refactor your code

  12. don't keep the different layers seperated using something like MVC

  13. don't know what these stand for: KISS, DRY, MVC, OOP, REST

  14. don't return content but echo or print it from your functions or classes

  15. have never seen the advantage of unit tests or testing in general

  16. return HTML, not data, strings, or objects.

  17. hard code messages and configuration parameters

  18. don't optimize your sql queries

  19. don't use __autoload

  20. don't allow intelligent error handling

  21. use $_GET instead of $_POST for any destructive actions

  22. don't know how to use regular expressions

  23. you've never heard of sql injection or cross-site scripting

  24. don't allow simple configuration, can be parameters passed to a class’s constructor, set/get methods called later, or constants defined at a runtime.

  25. don't understand the benefits and limitations of Object Oriented Programming

  26. misuse OOP / everything you write , no matter how small is OOP

  27. you think reusable software equals/requires your code to be OOP

  28. don't choose intelligent defaults

  29. don't have one single configuration file

  30. don't want the file contents to be seen, but give it a .inc extension instead of .php

  31. don't use a database abstraction layer

  32. don't keep it DRY, Don't repeat yourself. If you have to copy and paste or duplicate something your design may be off.

  33. don't make a function/class/method do just one thing and don't make them interact.

  34. don't try to take advantage of OOP specific features like abstract/interface classes, inheritage polymorphism & access modifiers.

  35. don't optimize your application design with established design patterns

  36. don't allow your user to define a base directory if you have multiple files and/or directories

  37. pollute the global namespace, one option is to prefix the functions in your library with a common string

  38. don't allow a table prefix when using database tables

  39. use a separate template engine

  40. don't take a look at established php frameworks for inspiration, most of them have advanced web dev concepts and good code


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mayongzhan/archive/2008/02/15/2096975.aspx

分享到:
评论

相关推荐

    php程序员菜鸟成长手记 php入门教程 pdf

    ### PHP程序员菜鸟成长手记 —— PHP入门教程 #### 一、PHP简介 **1. Web程序工作原理** Web程序工作原理是指用户通过浏览器发送请求到服务器,服务器处理请求后返回响应的过程。在这个过程中,PHP作为一种服务器...

    PHP 菜鸟教程-文字版 PDF

    PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种服务器端脚本语言,主要用于创建动态交互式网站。它是开源的,免费使用,且广泛应用于多种平台上。PHP非常适合初学者学习,并为专业开发者...

    菜鸟学PHP之Smarty入门

    Smarty是PHP世界中的一款著名的模板引擎,它的设计目标是实现应用程序逻辑与页面展示逻辑的分离,使得程序员可以专注于业务逻辑的实现,...所以,即使作为“菜鸟”,一旦掌握了Smarty,你的PHP编程技能将得到显著提升。

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

    我愿意把本文归入我的“编程糗事”系列。尽管在正规大学课程中,接触到软件工程、企业级软件架构和数据库设计,但我还是时不时地体会到下述事实带给我的...13. 不知道这些概念:KISS, DRY, MVC, OOP, REST 14. 不用re

    php程序员菜鸟php入门教程.doc

    **PHP程序员菜鸟PHP入门教程** **一、PHP简介** PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其适用于Web开发,可以嵌入到HTML中进行使用。PHP的设计目标是让开发过程变得更...

    PHP菜鸟入门代码练习

    本文将基于“PHP菜鸟入门代码练习”的标题和描述来详细分析如何利用PHP和HTML技术来构建一个个性化的课程表。 #### 一、理解项目目标 根据描述,“PHP菜鸟入门代码练习,编写一个属于自己的个性化课程表”,我们...

    php菜鸟windows环境下建立php服务器的好软件wamp5

    “php菜鸟windows环境下建立php服务器的好软件wamp5”指的是WAMP(Windows Apache MySQL PHP)服务器套件的第五个版本,专为初学者设计,尤其适合在Windows操作系统上快速搭建PHP开发环境。 **描述分析:** 描述中...

    菜鸟学PHP之Smarty入门(组图)

    ### 菜鸟学PHP之Smarty入门:理解模板引擎的核心价值与实践 #### Smarty:连接PHP与前端设计的桥梁 对于初次接触模板引擎的PHP开发者而言,“Smarty”可能显得有些神秘且难以驾驭。然而,一旦深入理解其设计理念与...

    php程序员菜鸟成长手记——php入门教程

    ### PHP程序员菜鸟成长手记——php入门教程 #### 一、PHP简介 ##### 1. Web程序工作原理 Web程序工作原理是指用户通过浏览器发送请求到服务器,服务器处理请求后返回响应的过程。在这个过程中,服务器端脚本语言...

    SCOOL菜鸟论坛

    此程序的核心是PHPWIND3.0.1 在此基础上美化了...如果大家安装此论坛有什么不懂的地方,可以到论坛里发帖问的 我们会一定会帮你们解决问题的!!! 菜鸟学堂,欢迎你! 菜鸟论坛地址为:http://bbs.cnxt365.com

    W3SCHOOL 菜鸟教程chm

    《W3School 菜鸟教程CHM》是IT学习者不可或缺的资源,它提供了丰富的Web开发知识,包括HTML、CSS、JavaScript等基础语言到PHP、SQL等后端技术的全面教程。CHM(Compiled Help Manual)格式是微软开发的帮助文档格式...

    PHP快速入门 菜鸟变大师

    【PHP快速入门 菜鸟变大师】 PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适用于Web开发,可以嵌入到HTML中使用。PHP的设计目标是提高可扩展性和易用性,使得初学者也能快速上手。这份“PHP...

    w3cschool菜鸟教程

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

    w3cschool菜鸟教程【终极离线版】适合新手.rar

    《w3cschool菜鸟教程【终极离线版】适合新手.rar》是一个综合性的学习资源,专为初学者设计,提供了全面的IT技术教程。这个压缩包涵盖了多种编程语言和技术,包括CSS、jQuery、JSON、PHP、jQuery(重复)、Python、...

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

    《W3cschools菜鸟教程整站离线打包:Web开发全方位指南》 W3cschools,全球知名的在线学习平台,为初学者提供了丰富的Web开发资源,包括前端和后端技术。此次推出的整站离线打包版本,使得开发者无需互联网连接也能...

    w3cschool菜鸟教程.CHM.rar

    这个压缩包中的主要内容是《w3cschool菜鸟教程.CHM》文件,它包含了Web开发的各种基础教程,包括但不限于HTML、CSS、JavaScript、PHP、SQL等常见语言和技术。这些教程以清晰易懂的方式介绍了编程基础知识,适合对...

    菜鸟跟我学php注入拿系统权限

    "菜鸟跟我学php注入拿系统权限"这个主题,旨在帮助初学者理解PHP注入的基本概念,以及如何利用它来获取系统权限。 PHP注入通常发生在Web应用程序中,当用户输入的数据未经适当验证或过滤就被直接用于执行PHP语句时...

    ASP转换PHP的菜鸟方法

    ASP转换PHP的方法,可以按文档所指下载转换工具,适合菜鸟或只懂一种编程语言的人使用

    菜鸟电子面单接口+js云打印+C#云打印.zip

    菜鸟电子面单,c#对接源码 1.审核通过后可以进行测试 2.首先调用电子面单订购查询接口,查询商家发货地址,及面单信息 3.调用取号接口,进行电子面单取号。 4.根据取号结果调用本地打印机,进行打印。

Global site tag (gtag.js) - Google Analytics