1、不写注释

2、不使用可以提高生产效率的IDE工具

3、不使用版本控制

4、不按照编程规范写代码

5、不使用统一的方法

6、编码前不去思考和计划

7、在执行sql前不执行编码和安全检测

8、不使用测试驱动开发

9、编码时不打开自动报错(error_reporting)

10、不使用一种好的调试工具

11、不重构你的代码(refactor)

12、不采用MVC这样的分层结构

13、不知道以下等等概念:KISS,DRY,MVC,OOP,REST

14、在函数或者类里直接用print或者echo输出东西而不是返回(return)

15、不使用也不去了解单元测试

16、返回HTMl而不是data,strings,objects等类型

17、糟糕的代码和配置参数(hard code messages and configuration parameters)

18、不优化sql查询

19、不使用__autoload

20、不支持自动错误操作(应该是智能纠错)

21、使用$_GET替代$_POST去进行危险的参数传递(记得这40条都是错误的东西)

22、不知道怎样使用正则表达式

23、从未听说过sql注入和跨站脚本(安全方面,应该了解下这两个东西的英文:sql injection,cross-site scripting)

24、不支持简单配置,传递参数给类的构造函数,set/get方法,定义常量

25、不能理解OOP的优缺点

26、无论要做的东西有多小,都使用OOP

27、认为做可复用的软件就是OOP

28、不使用缺省值(don't choose intelligent defaults)

29、不使用单一配置文件

30、不想让别人看到代码,却使用.inc替换掉.php

31、不使用数据库抽象层(持久层)

32、开发时不DRY(Dont repeat yourself). (就是总开发重复的东西)

33、不开发可以重复使用的类或者方法

34、不使用抽象类或者接口类,继承,多态,封装.

35、不使用已有的设计模式优化你的程序.

36、不允许使用者定义基础目录(这点好象PHP不太适合,毕竟不是基于操作系统的开发)

37、错误的使用命名空间,使用大家都普遍使用的单词作为前缀.(这样以后别人使用会造成冲突.,例如自己定义一个function 叫 array_push())

38、使用数据库时不使用表前缀(这个很重要...)

39、不使用或者使用一个陌生的模板引擎(方便团队开发,大家要使用常见的模板)

40、不去看PHP的框架(大多数框架中都包含优秀的代码和先进的概念.值得我们学习)

PHP程序员的40点陋习的更多相关文章

  1. PHP程序员的40点陋习,我几乎全部中枪

    1.不写注释 2.不使用可以提高生产效率的IDE工具 3.不使用版本控制 4.不按照编程规范写代码 5.不使用统一的方法 6.编码前不去思考和计划 7.在执行sql前不执行编码和安全检测 8.不使用测 ...

  2. 引领开发工具近40年的程序员Anders Hejlsberg

    有位神级程序员在近40年中一直创造引领潮流的开发工具(Turbo Pascal/Delphi/C#/TypeScript),他就是Anders Hejlsberg. 一. Anders并没有大学文凭, ...

  3. Java基础学习总结(40)——Java程序员最常用的8个Java日志框架

    作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在 ...

  4. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

  5. 【腾讯Bugly经验分享】程序员的成长离不开哪些软技能?

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ce8068d4d44a246f72baf2 Dev Club 是一个交流移动 ...

  6. 从scheduler is shutted down看程序员的英文水平

    我有个windows服务程序,今天重点在测试系统逻辑.部署后,在看系统日志时,不经意看到一行:scheduler is shutted down. 2016-12-29 09:40:24.175 {& ...

  7. Java程序员应该掌握的10项技能

    这篇文章主要介绍了作为Java程序员应该掌握的10项技能,包括java的知识点与相关的技能,对于java的学习有不错的参考借鉴价值,需要的朋友可以参考下   1.语法:必须比较熟悉,在写代码的时候ID ...

  8. [No000096]程序员面试题集【上】

    对几家的面试题凭记忆做个总结,基本全部拿到offer,由于时间比较长,题目只写大体意思,然后给出自己当时的答案(不保证一定正确): abstract类不可以被实例化 蛋糕算法: 平面分割空间:(n-1 ...

  9. .NET程序员细数Oracle与众不同的那些奇葩点

    扯淡 距上次接触 Oracle 数据库已经是 N 年前的事了,Oracle 的工作方式以及某些点很特别,那会就感觉,这货就是一个奇葩!最近重拾记忆,一直在折腾 Oracle,因为 Oracle 与众不 ...

随机推荐

  1. Entity Framework (二) 查询

    待完善-------------------------------------- ----------- base 关键字用于从派生类中访问基类的成员: 调用基类上已被其他方法重写的方法. 指定创建 ...

  2. 如何调优JVM - 优化Java虚拟机(大全+实例)

    堆设置 -Xmx3550m:设置JVM最大堆内存 为3550M. -Xms3550m:设置JVM初始堆内存 为3550M.此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存. -X ...

  3. iPhone OS 开发 - 了解并解决代码签名问题

    译者:Jestery 发表时间:2010-04-24浏览量:21082评论数:0挑错数:0 了解并解决代码签名问题 (为保持跟开发环境以及APPLE开发者社区网站结构对应,一些名词未作翻译) 绝大多数 ...

  4. Team Homework #1 学长“学霸英语学习软件”试用

    简介: 一款英语单词记忆和管理辅助软件. 基本功能: 内置GRE词汇及其常考形态.Webster英语解释 单词发音功能 单词测验模式 简易词典功能 基本界面 词库单词读取 单词测试 优点: 1.界面简 ...

  5. Careercup - Facebook面试题 - 5733320654585856

    2014-05-02 09:59 题目链接 原题: Group Anagrams input = ["star, astr, car, rac, st"] output = [[& ...

  6. Win64位操作系统无法运行暗黑2战网D2GS的解决办法

    前几天想在我的Win7 x64系统里做个战网自己玩,搭建完毕后进入战网创建房间出现经典的问题,“排队1”. 原因很清楚,就是D2GS无法启动:但是使用之前的各种办法尝试后无果,后来查看D2GS同目录下 ...

  7. win8 telnet VirtualBox中的redhat9

    1. VirtualBox设置网络连接为“桥接网卡”,并且此网卡要为win8正在使用的网卡(比如我的电脑上使用的就是无线网卡,则选择网卡时也要用无线网卡) 2. 在redhat的终端里,运行ifcon ...

  8. c# 应用程序部署发布

    转自:http://blog.csdn.net/chenyujing1234/article/details/7558185 最近做了C#软件,发布给客户用时,发现客户运行不起来,原因是客户电脑上没有 ...

  9. Java多线程——<四>让线程有返回值

    一.概述 到目前为止,我们已经能够声明并使一个线程任务运行起来了.但是遇到一个问题:现在定义的任务都没有任何返回值,那么加入我们希望一个任务运行结束后告诉我一个结果,该结果表名任务执行成功或失败,此时 ...

  10. SQL Server 之 解锁

    下图,制作了一个可以维持1分钟的表锁: 下图,可以查询出被锁的表,其中 spid 是锁定表的进程ID(也是 session_id): 可以通过 select connect_time from sys ...