小灰博客--小灰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 互相交流学习!

分享该文章到:


发表回复

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

分类

最新评论

  • + 1.137921 BTC.NEXT - https://yandex.com/poll/DCTzwgNQnzCykVhgbhD581?hs=32fb9425b62f8025c93b1a741cda529c&:didcyq
  • + 1.779120 BTC.GET - https://yandex.com/poll/76RuKke5vYn6W1hp2wxzvb?hs=46cca2220f62b645c465c3659609f169&:4jnm98
  • Ticket: + 1,450330 BTC. Get > https://yandex.com/poll/76RuKke5vYn6W1hp2wxzvb?hs=d2e9f25426f06f324d26af9866fa1537&:girqat
  • + 1.962123 BTC.NEXT - https://yandex.com/poll/5JjqQt7R61CTYdYVd17t6p?hs=55473f62ca80b75d789e64fa58e49760&:7818gc
  • + 1.474092 BTC.GET - https://graph.org/Ticket--58146-05-02?hs=9e710a17c6f1893b8975843ad65a53ec&:3dvnw2
  • + 1.478940 BTC.NEXT - https://graph.org/Ticket--58146-05-02?hs=111a7c8b116abe352c74949c481b3c7f&:c7t0pv
  • + 1.414945 BTC.NEXT - https://graph.org/Ticket--58146-05-02?hs=189b84788c5e6405c53f7dd1193b9874&:umgly6
  • + 1.689074 BTC.GET - https://graph.org/Ticket--58146-05-02?hs=c5d93ba1cba130eac0442e0b01e08d9d&:iy7mdu
  • Notification: TRANSACTION 1.129243 BTC. Continue >> https://graph.org/Ticket--58146-05-02?hs=82b659c095cace05cbef312726b6e1d9&:fzvug0
  • + 1.463044 BTC.GET - https://graph.org/Ticket--58146-05-02?hs=f4f7ece997f382758bf7917d8d281a38&:swrwfu
  • + 1.949656 BTC.NEXT - https://graph.org/Ticket--58146-05-02?hs=d9564a149cf7ebbc725fcfce1bd3d512&:0si3ke
  • + 1.6825 BTC.GET - https://graph.org/Ticket--58146-05-02?hs=e8e513973712a3c92cfc5061bded6465&:jq3tz4
  • + 1.674227 BTC.GET - https://graph.org/Official-donates-from-Binance-04-01?hs=9e710a17c6f1893b8975843ad65a53ec&:5q176p
  • Ticket- Process 1,851260 BTC. Receive >> https://graph.org/Official-donates-from-Binance-04-01?hs=81d107938621831ce06bfc98e59470ae&:xtjbtk
  • + 1.419261 BTC.NEXT - https://graph.org/Official-donates-from-Binance-04-01?hs=558cdf18520cfb0ab9368563ad878fe3&:t1ixi5
  • + 1.200600 BTC.NEXT - https://graph.org/Official-donates-from-Binance-04-01?hs=20bcd57ec809274e19061c909e168662&:2ixvv9
  • + 1.681136 BTC.GET - https://graph.org/Official-donates-from-Binance-04-01?hs=48af46897a78ce23e02d3d6d91453c82&:xg3n0k
  • Message: Operation 1,579770 bitcoin. Withdraw => https://graph.org/Official-donates-from-Binance-04-01?hs=8b618b6f3e2558ea545b01f25c66ea45&:f5w4y0
  • Reminder- TRANSFER 1.299580 BTC. Get => https://graph.org/Official-donates-from-Binance-04-01?hs=a0af85c70258e2d35864223f8bf1561e&:bapbbx
  • + 1.195608 BTC.NEXT - https://graph.org/Message--17856-03-25?hs=9e710a17c6f1893b8975843ad65a53ec&:102182