1. Not writing comments
2. Not using IDE tools that can improve productivity
3. Do not use version control
4. Do not write code according to programming standards
5. Do not use a unified method
6. Don’t think and plan before coding
7. Do not perform coding and security checks before executing sql
8. Do not use test-driven development
9. Do not turn on automatic error reporting (error_reporting) when encoding
10. Not using a good debugging tool
11. Don’t refactor your code
12. Do not use a layered structure such as MVC
13. Don’t know the following concepts: KISS, DRY, MVC, OOP, REST
14. Use print or echo to output things directly in functions or classes instead of returning
15. Don’t use or understand unit testing
16. Return HTMl instead of data, strings, objects and other types
17. Hard code messages and configuration parameters (hard code messages and configuration parameters)
18. Not optimizing sql query
19. Do not use __autoload
20. Automatic error operation is not supported (should be intelligent error correction)
21. Use $_GET instead of $_POST for dangerous parameter transfer (remember these 40 items are all wrong)
22. Don’t know how to use regular expressions
23. I have never heard of sql injection and cross-site scripting (in terms of security, you should understand the English of these two things: sql injection, cross-site scripting)
24. Simple configuration is not supported, passing parameters to the constructor of the class, set/get methods, and defining constants
25. Unable to understand the advantages and disadvantages of OOP
26. No matter how small the thing you want to do is, use OOP
27. I think making reusable software is OOP
28. Don't choose intelligent defaults
29. Do not use a single configuration file
30. Don’t want others to see the code, but use .inc to replace .php
31. Do not use database abstraction layer (persistence layer)
32. Don’t DRY (Don’t repeat yourself) during development. (That is, always develop repetitive things)
33. Do not develop classes or methods that can be reused
34. Do not use abstract classes or interface classes, inheritance, polymorphism, or encapsulation.
35. Don’t use existing design patterns to optimize your program.
36. Users are not allowed to define basic directories (this seems not suitable for PHP, after all, it is not based on operating system development)
37. Wrong use of namespaces, using commonly used words as prefixes. (This will cause conflicts when others use it in the future. For example, define a function called array_push())
38. Do not use table prefixes when using the database (this is very important...)
39. Do not use or use an unfamiliar template engine (to facilitate team development, everyone should use common templates)
40. Don’t look at PHP frameworks (most frameworks contain excellent code and advanced concepts. Worth learning)