接手了一个老项目,随便打开一个文件就是一堆报错警告,使用未定义变量,创建未定义类的对象,把非静态方法当静态方法用,创建对象不给构造方法传参,模拟一次登入请求就能输出错误日志,看得我目瞪口呆。
这样的代码也能在线上跑起来,支持一家公司的业务发展,PHP5 真是太强了。
|      1wukongkong      2021-12-18 23:42:56 +08:00 以前很多代码都这样吧~ 如果没有 ts ,js 也是一样的处境,特别是一些新手的代码。 现在带项目,不写 ts ,很多东西完全没法控制。 代码 review 太痛苦了,给自己找不自在。 | 
|  |      2zehua      2021-12-18 23:44:39 +08:00 via iPhone 能跑就行 | 
|  |      3youthfire      2021-12-18 23:53:04 +08:00 via iPhone  2 其实很多远古程序的实现,尽管从现在看毫无规范性可言,但往往充满了很多智慧,技术的实现借助于各种“旁门左道”,最妖的是稳定无 bug ,因为已经被打磨太多次了 | 
|      40ZXYDDu796nVCFxq      2021-12-19 00:12:46 +08:00  3 代码和前开发者都能跑,看起来不错了 | 
|  |      5WriteCloser      2021-12-19 00:20:58 +08:00  1 PHP 哪有这多心智负担,错误级别调高一点眼不见心不烦 | 
|  |      6qeqv      2021-12-19 02:24:51 +08:00 生产环境关掉报错呗,开发环境屏蔽掉 E_NOTICE E_DEPRECATED E_WARNING | 
|  |      7WebKit      2021-12-19 02:50:06 +08:00 via Android 印象里 php 难道不是一个动态类型的语言吗?跟 js 一样。变量随用随申请吗? 感觉你这跟 2021 年指责当年诺基亚死磕 wp 一样 | 
|      8dcoder      2021-12-19 03:42:02 +08:00 再怎么烂的东西,只要肯堆人堆时间反复测试修理,总能在 prod 上跑起来.  接手这种代码,就尽量不要改... LOL | 
|  |      9Kylin30      2021-12-19 04:19:26 +08:00 为了过个好年,建议申请重构。 | 
|      102kCS5c0b0ITXE5k2      2021-12-19 04:25:36 +08:00 @Kylin30 申请重构才不能过好年. 出啥问题都让你背锅.XD | 
|  |      12MengiNo      2021-12-19 08:18:46 +08:00 via Android PHP 就是这样,乱写都可以。有经验的可以给你写的胡里花哨,甚至写成 Java ,没经验的搞个什么 lamp 鼠标点点就能跑。所以说 PHP 开发就是快,不在乎这些有的没的,就算业务模糊也可以很 hack 的去魔改减少改动。 | 
|  |      13lyz1990      2021-12-19 08:57:43 +08:00 via Android 能支撑业务挣到钱才是关键 | 
|  |      14loginv2      2021-12-19 09:18:12 +08:00 最强的是这个代码迁移到 php7 大部分是不需要改动的写的好的项目甚至不需要改 | 
|  |      15lifeintools      2021-12-19 09:21:54 +08:00 PHP5 时代 基本就是能跑就行~ 后面慢慢越来越严格 框架也越来越规范。。逐渐 java 化 | 
|      16512357301      2021-12-19 09:40:52 +08:00 via Android php 变量不是可以直接赋值的吗,需要定义吗,js 我知道有 var/let 可以定义变量,PHP 有吗或者说需要吗 | 
|      17richangfan OP @WebKit 他这个使用未定义变量错误是调用函数时的参数是一个未定义变量 | 
|      18maomaosang      2021-12-19 09:56:12 +08:00 via Android 以前老版本的 dedecms (大概是 5.1 ?),你如果把 notice 报错打开,会发现加载个页面满屏都是报错。但是不妨碍它成为中国站点数最多的开源 cms 。 以前很多 phper 的做法就是关掉 notice 来编程,他们以为语言特性就是这样(比如可以动态调用静态方法)的。我还遇到过程序员振振有词跟我说可以直接调用 array 中不存在的 key ,“把 notice 关掉就可以了”。 | 
|  |      19code4you      2021-12-19 10:46:50 +08:00 能让你挣钱的语言 就是好语言 😁 PHP5 算啥 用 asp 、vb 挣钱的都有😏 | 
|  |      21MrBrother      2021-12-19 14:24:35 +08:00 via iPhone | 
|  |      24learningman      2021-12-20 10:20:48 +08:00 @DOLLOR #21 java 的 var 是 C++的 auto ,js 淘汰 var 是因为全局变量危害太大,也没说不让你用 |