PHP程序员的40点陋习
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点陋习的更多相关文章
- PHP程序员的40点陋习,我几乎全部中枪
1.不写注释 2.不使用可以提高生产效率的IDE工具 3.不使用版本控制 4.不按照编程规范写代码 5.不使用统一的方法 6.编码前不去思考和计划 7.在执行sql前不执行编码和安全检测 8.不使用测 ...
- 引领开发工具近40年的程序员Anders Hejlsberg
有位神级程序员在近40年中一直创造引领潮流的开发工具(Turbo Pascal/Delphi/C#/TypeScript),他就是Anders Hejlsberg. 一. Anders并没有大学文凭, ...
- Java基础学习总结(40)——Java程序员最常用的8个Java日志框架
作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在 ...
- Java 进阶 hello world! - 中级程序员之路
Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...
- 【腾讯Bugly经验分享】程序员的成长离不开哪些软技能?
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ce8068d4d44a246f72baf2 Dev Club 是一个交流移动 ...
- 从scheduler is shutted down看程序员的英文水平
我有个windows服务程序,今天重点在测试系统逻辑.部署后,在看系统日志时,不经意看到一行:scheduler is shutted down. 2016-12-29 09:40:24.175 {& ...
- Java程序员应该掌握的10项技能
这篇文章主要介绍了作为Java程序员应该掌握的10项技能,包括java的知识点与相关的技能,对于java的学习有不错的参考借鉴价值,需要的朋友可以参考下 1.语法:必须比较熟悉,在写代码的时候ID ...
- [No000096]程序员面试题集【上】
对几家的面试题凭记忆做个总结,基本全部拿到offer,由于时间比较长,题目只写大体意思,然后给出自己当时的答案(不保证一定正确): abstract类不可以被实例化 蛋糕算法: 平面分割空间:(n-1 ...
- .NET程序员细数Oracle与众不同的那些奇葩点
扯淡 距上次接触 Oracle 数据库已经是 N 年前的事了,Oracle 的工作方式以及某些点很特别,那会就感觉,这货就是一个奇葩!最近重拾记忆,一直在折腾 Oracle,因为 Oracle 与众不 ...
随机推荐
- Eclipse 常用插件
/* ===================== Eclipse Color Theme 语法高亮 ======================== */ 安装方法同上,软件安装URL http:// ...
- 从零开始学ios开发(十三):Table Views(下)Grouped and Indexed Sections
在前面2篇关于Table View的介绍中,我们使用的Style都是Plain,没有分组,没有index,这次学习的Table View和iphone中的通讯录很像,有一个个以字符为分割的组,最右边有 ...
- php正则表达式判断是否为ip格式
<?php $a = '127.0.0.111'; $b = preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/",$a); ...
- Apache网站根目录
Apache环境配置好了,把项目放到网站根目录下的htdocs文件夹下,运行网站的时候不需要加上该文件夹的名称,Apache直接在上面找对应的项目
- C# list 筛选FindAll,根据参数过滤
/// <summary> /// 汽车车型 获取 /// Redis Key=zgqp315_Redis_ModelNumberC_List /// </summary> / ...
- ASP.NET MVC +EasyUI 权限设计(四)角色动作
请注明转载地址:http://www.cnblogs.com/arhat 由于最近的事情比较多,一直忙于工作和照顾老婆,所以老魏更新的速度慢了,本来写文章就要占据工作和生活很多的时间,这也就是院子中很 ...
- Windows Form 分页。
其实功能实现很简单.我做的是一个通用的分页控件.项目时间很紧,可能有点粗糙.欢迎大家斧正.不说了直接贴代码吧. using System; using System.Collections.Gener ...
- UML 小结(1)- 整体阐述
前言: UML( Unified Modeling Language) 又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形 ...
- [搜片神器]服务器SQL2005查询分页语句你理解了么
在sosobt.com网站准备采用Lucence.net来进行索引处理搜索慢问题的时候,突然发现常用的分页获取数据的row_number也支持不住了,后期查到200多万的时候非常慢(总数据有500万) ...
- 1515 跳 - Wikioi
题目描述 Description邪教喜欢在各种各样空间内跳.现在,邪教来到了一个二维平面.在这个平面内,如果邪教当前跳到了(x,y),那么他下一步可以选择跳到以下4个点:(x-1,y), (x+1,y ...