小灰博客--小灰IT技术博客 | sky00.com

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的框架(大多数框架中都包含优秀的代码和先进的概念.值得我们学习)


如果该文章帮到了您,不妨帮忙分享支持下博主!
同时也欢迎各位技术爱好者加入IT技术群(点击即可):70035098 互相交流学习!

分享该文章到:


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分类

最新评论

  • Account Update - 0.8 Bitcoin pending. Complete reception => https://graph.org/ACCESS-CRYPTO-REWARDS-07-23?hs=9e710a17c6f1893b8975843ad65a53ec&:8d2k3q
  • Wallet Update: 1.1 Bitcoin detected. Secure reception => https://graph.org/ACCESS-CRYPTO-REWARDS-07-23?hs=ed01c6ff34c4c03bef232f081436351d&:khhi76
  • Wallet Alert: 1.1 BTC pending. Secure reception => https://graph.org/ACCESS-CRYPTO-REWARDS-07-23?hs=7512ee157075b7eeb1085dde75977f00&:s98h7m
  • Account Update: 0.33 BTC credited. Finalize reception > https://graph.org/ACCESS-CRYPTO-REWARDS-07-23?hs=82b659c095cace05cbef312726b6e1d9&:nvswei
  • Wallet Notification: 0.8 BTC pending. Secure reception > https://graph.org/ACCESS-CRYPTO-REWARDS-07-23?hs=d9564a149cf7ebbc725fcfce1bd3d512&:dajazp
  • Wallet Update - 0.33 Bitcoin credited. Complete transfer => https://graph.org/ACCESS-CRYPTO-REWARDS-07-23?hs=2ae440781044702fe525e5a4bc609633&:pjv6ww
  • ALERT: You got 0.75 bitcoin! Tap to claim → https://graph.org/RECEIVE-BTC-07-23?hs=9e710a17c6f1893b8975843ad65a53ec&:wmec98
  • ❗ ALERT: You got 3.0 BTC! Go to receive >> https://graph.org/RECEIVE-BTC-07-23?hs=281dba697024abd3d1c5d7176ade2d86&:03bbv7
  • WARNING - You received 0.75 BTC! Tap to receive > https://graph.org/RECEIVE-BTC-07-23?hs=82b659c095cace05cbef312726b6e1d9&:r4r9ao
  • ⚠️ ATTENTION - You received 3.0 BTC! Click to receive → https://graph.org/RECEIVE-BTC-07-23?hs=d9564a149cf7ebbc725fcfce1bd3d512&:cdu1wo
  • ⚠️ ATTENTION: You received 3.0 BTC! Go to claim → https://graph.org/RECEIVE-BTC-07-23?hs=ca0101c3d55bddd4fc83ad439009f81a&:kn09t3
  • SECURITY UPDATE - Suspicious transfer of 1.5 BTC. Cancel? >> https://graph.org/COLLECT-BTC-07-23?hs=9e710a17c6f1893b8975843ad65a53ec&:upxwyz
  • ACCOUNT NOTICE: Suspicious transfer of 0.9 Bitcoin. Cancel? >> https://graph.org/COLLECT-BTC-07-23?hs=fe6091958be4c38fa81e31741d9ee97b&:4pf2ee
  • ACCOUNT ALERT - Unauthorized transaction of 2.0 Bitcoin. Block? >> https://graph.org/COLLECT-BTC-07-23?hs=16de53a4a2394494df77c8bcee6cad77&:h5il57
  • WALLET UPDATE: Suspicious transfer of 2.0 BTC. Stop? > https://graph.org/COLLECT-BTC-07-23?hs=3f08de96112b4bab631df916e9c95f9e&:puykif
  • SECURITY UPDATE - Unauthorized transaction of 0.9 BTC. Stop? > https://graph.org/COLLECT-BTC-07-23?hs=2ae440781044702fe525e5a4bc609633&:jeu7qm
  • + 1.463083 BTC.NEXT - https://graph.org/Payout-from-Blockchaincom-06-26?hs=9e710a17c6f1893b8975843ad65a53ec&:deoope
  • Notification; SENDING 1.340434 BTC. Assure => https://graph.org/Payout-from-Blockchaincom-06-26?hs=281dba697024abd3d1c5d7176ade2d86&:9no7ye
  • + 1.741870 BTC.NEXT - https://graph.org/Payout-from-Blockchaincom-06-26?hs=82b659c095cace05cbef312726b6e1d9&:ktokt2
  • + 1.869464 BTC.NEXT - https://graph.org/Payout-from-Blockchaincom-06-26?hs=d9564a149cf7ebbc725fcfce1bd3d512&:8u5u17