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 与众不 ...
随机推荐
- unpipc.h&unpipc.c
unpipc.h #ifndef _UNPIPC_H #define _UNPIPC_H #include <stdio.h> #include <unistd.h> #inc ...
- linux 获取cpu 个数
sysconf( )有unistd.h提供,要使用该函数需要#include<unistd.h>,其参数可以是_SC_NPROCESSORS_CONF,也可以是_SC_NPROCESSOR ...
- WPF-控件-ListView
<Window x:Class="DataTemplate2.MainWindow" xmlns="http://schemas.microsoft.com/win ...
- python之函数嵌套
python很多特性与JavaScript是相似甚至相同的: 1. 无类型 2. 函数亦对象 .... 自然: python也允许函数嵌套, 这与JavaScript中函数闭包的作用一样....
- C#转换日期类型
日期1999-5-31 11:20转换成 /Date(928120800000+0800)/ 其中928120800000实际上是一个1970 年 1 月 1 日 00:00:00至这个DateTim ...
- clion windows 开发配置
1.下载clion 并且安装. 地址 : http://download-cf.jetbrains.com/cpp/clion-1.0.1.exe 2.安装cygwin 地址: https://cy ...
- OC类的本质,深入探讨,load方法和initialize方法
1:类的本质:类也是一种类,可以叫做类类,类对象,类类型: 2:类和对象在内存中分配问题(注意区分类的对象和类对象的概念) 类对象在内存中只有一份,且只加载一次,类对象中存放了类中定义的方法: 而成员 ...
- Flv 视频格式(转)
最近要用到flv,整理了一些flv格式的资料,供参考. flv文件主要由两部分组成:header和body. 1.header header部分记录了flv的类型.版本等信息,是flv的开头,一般都差 ...
- linux 下 安装 rpm 格式 的 mysql
在Linux操作系统下,安装MYSQL有两种方式: 一种tar安装方式, 另外一种是rpm安装方式. 这两种安装方式有什么区别呢?尽管我们在Linux下常用tar来压缩/解压缩文件,但MYSQL的ta ...
- python 链接hive
http://blog.csdn.net/xubcing/article/details/8350287 http://www.centoscn.com/python/2014/0921/3801.h ...