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.不使用测 ...
- C# 你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 )
你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 ) 一个家庭 相当于 一个空间,这个空间里 有 很多元素,比如 爱,爱这个抽象事物,可能有很多动作,接吻.交流,对于一 ...
- 十年京东Java程序员的工作总结,写给迷茫中的你!
很多年前,刚刚从大学毕业的时候,很多公司来校招.其中最烂俗的一个面试问题是:“你希望你之后三到五年的发展是什么?”.我当时的标准回答是(原话):“成为在某一方面能够独当一面的技术专家“.后来经历了几家 ...
- 《PHP程序员面试笔试宝典》——如何克服面试中紧张的情绪?
本文摘自<PHP程序员面试笔试宝典>. PHP面试技巧分享,PHP面试题,PHP宝典尽在"琉忆编程库". 面试的成功与否,往小的方面讲,直接关系到求职者的工作问题,往大 ...
- 《PHP程序员面试笔试宝典》——如何解决求职中的时间冲突问题?
如何巧妙地回答面试官的问题? 本文摘自<PHP程序员面试笔试宝典> 对求职者而言,求职季就是一个赶场季,一天少则几家.十几家企业入校招聘,多则几十家.上百家企业招兵买马.企业多,选择项自然 ...
- 《Java程序员面试笔试宝典》之为什么Java中有些接口没有任何方法
由于Java不支持多重继承,即一个类只能有一个父类,为了克服单继承的缺点,Java语言引入了接口这一概念.接口是抽象方法定义的集合(接口中也可以定义一些常量值),是一种特殊的抽象类.接口中只包含方法的 ...
- 美女程序员是如何将QQ转换成题目中那串数字的--读博文《找女神要QQ号码》
我只能说好好的端午节你们不约么?,还在这里写代码?我也是够无聊的,下班了不走也在这跟风写着玩!<找女生要QQ号码原文>原文链接http://www.cnblogs.com/iforever ...
- [程序员代码面试指南]二叉树问题-在二叉树中找到两个节点的最近公共祖先、[LeetCode]235. 二叉搜索树的最近公共祖先(BST)(非递归)
题目 题解 法一: 按照递归的思维去想: 递归终止条件 递归 返回值 1 如果p.q都不在root为根节点的子树中,返回null 2 如果p.q其中之一在root为根节点的子树中,返回该节点 3 如果 ...
- [程序员代码面试指南]二叉树问题-找到二叉树中的最大搜索二叉树(树形dp)
题意 给定一颗二叉树的头节点,已知所有节点的值都不一样,找到含有节点最多的搜索二叉子树,并返回这个树的头节点. 题解 在后序遍历过程中实现. 求解步骤按树形dp中所列步骤.可能性三种:左子树最大.右子 ...
随机推荐
- eclipse安装pydev插件
打开Eclipse,找到Help菜单栏,进入Install New Software…选项. 点击work with:输入框的旁边点击Add…,Name可以随便输入,Location是http://p ...
- SQL多表连接
在KS系统中分配好权限以后,在用户登录的时候就要通过用户查到角色,通过角色查到界面,界面又属于某个菜单,一共要查4个表.并且不能有重复的记录这个时候就用到了SQL的内连接.SQL的多表连接很方便,以前 ...
- Eclipse 下 opennms 开发环境搭建
1.eclipse3.5或更高版本,并且使用纯净的java版.下载地址:Eclipse for Java Developers. 2.安装需要的插件.通过Help/Install New Softwa ...
- LintCode-Kth Prime Number.
Design an algorithm to find the kth number such that the only prime factors are 3, 5, and 7. The eli ...
- C# - (0x80040154): Retrieving the COM class factory for component with CLSID {877AA945-1CB2-411C-ACD7-C70B1F9E2E32} failed
1. Exeption Error: System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM clas ...
- NOI2014 全国互测Round2
数据包:http://pan.baidu.com/s/1pJNSkL9 T1: 我们先直接用矩阵快速幂暴力 首先是0维,f1=1,f2=1 然后推出下一维的f1'和f2' 下一维的f1'和f2'其实就 ...
- SpringJUnit4测试--测试无反应/控制台报空指针的解决---junit的jar冲突!
前言: 前些日子碰到一个诡异的问题--用springJUnit进行测试,运行方法什么反应也没有,控制台 也没有输出,百度也没有答案--只好暂时作罢.今天我只好用上了排除法,建个测试小项目,将只要能测试 ...
- 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
// test20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...
- 通过WebBrowser获取网页验证码
/// <summary> /// 返回指定WebBrowser中图片<IMG></IMG>中的图内容 /// </summary> /// <p ...
- 《head first java 》读书笔记(二)
Updated 2014/03/27 P402-P454 Updated 2014/04/03 P454- 世界三大首席管理器: border, flow, box borderLayout: 五个区 ...