之前同事写了一个功能,其中一个功能居然只有45个foreach

今天看了下之前同事写的一个功能,一个class中也就32个方法

之前同事写了一个功能,其中一个功能居然只有45个foreach
当我折叠了代码,总感觉哪里不对劲,又整体看了一下,好像都没有注释,不过也还好,看到传递的参数名,或许也能大概猜到传递的是什么参数

之前同事写了一个功能,其中一个功能居然只有45个foreach
当我随便展开一个方法的时候,突然发现写代码的同事真的很本土化

之前同事写了一个功能,其中一个功能居然只有45个foreach
于是乎又看了下其他的方法,让我值得注意的是同事在每个方法中大量的使用了foreach,于是乎搜了下 foreach 关键词,发现才45个,可当我在往下看的时候,我有点慌了,有些方法的foreach有点超乎了我能承受的范围。

之前同事写了一个功能,其中一个功能居然只有45个foreach
但是我还是抱着好奇和学习的心态再往看了下一个方法,突然有点凌乱,展开方法的开头已经是3层foreach

之前同事写了一个功能,其中一个功能居然只有45个foreach
滚轮往下一点点才发现,开头的3层foreach只是开胃小菜,后面才是考验foreach的时候

之前同事写了一个功能,其中一个功能居然只有45个foreach

最后我把这个方法单独复制出来看了一下,300多行代码也就15个foreach

之前同事写了一个功能,其中一个功能居然只有45个foreach
当我快绝望的时候,突然又来了一个突发情况

之前同事写了一个功能,其中一个功能居然只有45个foreach
前面中文变量也还行,3层foreach啥得还能接受,现在都玩起了混合开发

之前同事写了一个功能,其中一个功能居然只有45个foreach

看着这一层层的foreach,有些高达5-8层foreach嵌套带查询的,我陷入了沉思,是我太菜了,于是乎我关闭了phpstorm,出去外面抽了根烟。
结论:能跑的代码,真的不能再动了。

本作品采用《CC 协议》,转载必须注明作者和本文链接
保持勇敢,坚持有趣,生命不息,折腾不止。
OrangBus
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 74

这才是饭碗,说明不好被替代!!!

1年前 评论
KayuHo

变量命名确实是没有想到的

1年前 评论
playmaker 1年前

能跑就不要动。
“不要动我的代码。”
“运行很稳健,表示无问题。”
〔doge〕

1年前 评论
playmaker

中文 、拼音、字母齐上阵 哈哈哈哈 当我看到逻辑里有写死的数字,就觉得这指定是高手!逻辑高手,记忆高手。

1年前 评论

这才是饭碗,说明不好被替代!!!

1年前 评论

不错了 注释都给你写上了,可读性不是一般的高

1年前 评论

看的我肃然起敬

1年前 评论
qingshui 1年前

注定要成为不可替代!

1年前 评论

能跑就可以了,改了万一跑不动,就不好了

1年前 评论

没什么问题的,不出错,能跑就行

1年前 评论
Jyunwaa

大开眼界了

1年前 评论

我个人觉得 foreach 嵌套的心智负担没有 if else 来的大,foreach 只要你在最外层喽一眼数据结构,就大致知道里面的逻辑了。

拼音以前在外包公司见过,汉字做变量名,我真是第一次见 :joy:

另外写出这样的代码一方面也说明产品或者需求本身有比较复杂(或者是想要的太多),而时间并不允许你去调研其他解决方案。

尤其是在技术人员完全没有话语权的 Team 里,这一点我以前没啥感受,经历过这样的 Team 以后才发现,代码洁癖被治的差不多了,如果你说为什么不离开,我只能说——他们给的实在太多了!

1年前 评论
第二天堂 1年前
markyanggang 1年前
markyanggang 1年前
xiaochong0302

做在线教育的吗?这是哪家的产品呀,真想学习一下 :joy:

1年前 评论
OrangBus (楼主) 1年前

我有个功能 我好像写了10多个foreach :joy:主要是需求太变态了

1年前 评论

循环次数主要看具体业务,中文变量这点不理解

1年前 评论
随波逐流

已经替数据库捏了一把汗

1年前 评论

给我这个需求我可能还不会做 :grin:,此人是高手啊

1年前 评论
白小二

我见过一个,600行的控制器。里面堆了失败队列,优先队列,队列频率控制,数据队列,执行队列,入队列,数据操作,日志记录,数据查重,这些功能,全都是手写的。调试起来真的酸爽。发送一条请求,要分析运行结果得看两张数据表,看两条队列。真的是眼都花

1年前 评论
DonnyLiu

膜拜大佬,这才是无可替代的人 :dog:

1年前 评论
sanders

领域驱动开发吗?学习了。

确实有代码优化的空间,我现在觉得先实现功能,再进行优化是写代码的顺序。但如果工期紧张那只能保前者了,哈哈。

1年前 评论

安利一波 Rector,php-cs-fixer 只能修正代码格式,这玩意可以修正代码逻辑! github.com/rectorphp/rector

还可以用来辅助升级 php(如 7.4 升 8.x)、laravel(如 5.x 升 8.x、9.x)版本:github.com/driftingly/rector-larav...

1年前 评论
第二天堂 1年前
dreamdesky (作者) 1年前
Imuyu 1年前
dreamdesky (作者) 1年前
Imuyu 1年前
dreamdesky (作者) 1年前

看代码应该是同行。这类代码因为时间跨度大,人口流动性大,所以风格各异,我还见过一个方法1400多行,这还不包括它调用的其他类的其他方法。

1年前 评论

中文编程才是最屌的!

1年前 评论

当去过的公司多了就会发现这是正常操作,也会知道代码的奇葩也可能就是需求的奇葩造成的,你这主线业务就一条,我这有代码各种业务线混到一个接口,也是一样if嵌套多层,再改业务也只能用if来避免报错了,不过中文变量不能接受,这个就是水平问题了

1年前 评论
rufo 1年前

等会,中文下标什么鬼,我一时还没反应过来

1年前 评论

看代码,脑袋就像一块内存,从上往下暂存下变量和各种逻辑,就是代码量多了的时候,容易内存溢出。

1年前 评论
CleverBilly

能跑就好了,管他那么多,不过用中文当变量名也是让我大开眼界

1年前 评论

我碰到一个控制器给你堆了1w多行代码,我编辑器打开都呼呼的响

1年前 评论

$错题本 $收藏 $模考 ——一眼就能看明白 太强了。

1年前 评论

中文变量真的是第一次见。但是,但是,但是。它能运行,那就不要改了吧...

1年前 评论
pardon110

代码和人有一个能跑,就不要动

1年前 评论

个人、项目、公司三者深度依赖。 :blush:

1年前 评论

当薪资与付出不对等,这种事情常发生,公司也不会等你足够优秀了再用你,现在就是快餐式开发的年代,想做好产品的没有几个。

1年前 评论

上个公司我质疑中文变量名,结果反被同时嘲笑了

1年前 评论

你是懂foreach的 :joy:

1年前 评论

还好不是我们公司 不够也差不多

1年前 评论
Fringe

人和代码有一个能跑就行了 :see_no_evil:

1年前 评论
yyy123456 1年前

可以看出来他是知道需求的,并且已经放弃挣扎了

1年前 评论

哈哈,忽然发现我前同事写的还挺好的

1年前 评论

代码和人有一样可以跑的就行代码可读性很强值得推荐

1年前 评论

中文变量第一次见

1年前 评论
梦想星辰大海

dba瑟瑟发抖

1年前 评论

file

1年前 评论
微加加的朋友 (作者) 1年前
胸毛仙人 1年前
高延迟战神 1年前

file :joy: :joy: 哎一个方法快1000行

1年前 评论
amw0918

我的代码终究还是被挖出来了 :grin:

1年前 评论

这种代码能花我一包烟

1年前 评论

我觉得还算不错,代码清晰,变量命名基本符合规范,无非就是foreach用得多些,没有整合代码做到复用而已;如果这都要吐槽得化,说明你个人代码太洁癖了,以后怎么维护他人代码呢?更何况你还没遇到更糟得代码,无注释,变量随意命名,根本看不出是变量语义,因为逻辑复杂,各种 if 嵌套,一个方法上千行随随便便,而且来回重复调用,非常考验人得耐心。

1年前 评论

我已经被磨得没有洁癖了, 当年一开始接手这样的项目的时间, 一万只马飘过, 维护了一段时间后, 无力回天. 现在想加点东西进去, 都得抽几根压压惊

1年前 评论

把php玩成了易语言 :joy:

1年前 评论

变量国产化任重道远

1年前 评论

其他都能理解 这个中文… 编辑器都自动标记了 这位兄弟的不会出提示吗 :joy:

file

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!