
RT,主题 https://mi90.com/20180112012844.png
是不是乱的无可救药?
1 xfspace 2018-01-12 01:35:06 +08:00 via Android 能用就行 :doge: |
2 icebay 2018-01-12 01:57:16 +08:00 看的我想用 phpstorm 的 ctrl+alt+L 格式化一下 |
3 WuwuGin 2018-01-12 02:08:42 +08:00 反正看上去挺乱的 |
4 akira 2018-01-12 02:13:32 +08:00 连续赋值那一段没对齐 看着好难受 |
5 zhizunzz 2018-01-12 02:14:18 +08:00 via Android 表示淡定,比我厂还是要整洁多了 |
6 des 2018-01-12 02:41:49 +08:00 via Android 好想吐槽…… 算了 emmmm …… 现在不都是用框架的么 |
7 Annual OP @des 入门 php 都是从改程序入门的 233,框架还看不懂 |
8 yorTX9t 2018-01-12 04:39:25 +08:00 你们拍黄片的都会写这么长的一行代码么?我是指最后一行 |
10 iRiven 2018-01-12 08:00:51 +08:00 via Android 除了 if 后面没加大括号 其他很舒服 |
12 shiji 2018-01-12 08:15:35 +08:00 话说最后一行那个双引号。。还需要用 . 拼接么。。。。 变量直接放里面就信了吧,可能引起歧义的话套个花括号 |
13 weilongs 2018-01-12 08:18:32 +08:00 功能实现,谁看你代码。 |
14 defuck 2018-01-12 08:23:16 +08:00 via Android 那是因为你没看 discuz 的代码 |
15 meanmachine 2018-01-12 08:24:55 +08:00 via Android 哪天改代码时候 intval 被删了 emmmmm |
16 pixes4world 2018-01-12 08:48:34 +08:00 至少逻辑结构还是比较清晰的,LGTM |
17 king2014 2018-01-12 08:54:12 +08:00 楼主写的? |
18 kran 2018-01-12 08:54:44 +08:00 出血者。 |
19 HuHui 2018-01-12 08:59:42 +08:00 这在我见过的代码中能算优秀了 |
20 free9fw 2018-01-12 09:07:17 +08:00 变量可以精简一下,用个字典就行了 |
21 oaix 2018-01-12 09:07:45 +08:00 不觉得太乱, 挺直白的. 格式有点乱, 行内少了很多空格(比如`=`左右, if 后面 等等), 不是大问题, 用 IDE 的格式化功能格式化一下. 另外 if 只有一个子语句时, 也建议加上大括号. sql 那段有点, 可能有注入的风险. 另外行间不同功能逻辑其实用空行隔开了, 可以用 IDE 提供的重构功能, 提取成一个函数. |
22 q409195961 2018-01-12 09:10:06 +08:00 金额是不是可以传 0.0091 |
23 whx20202 2018-01-12 09:22:00 +08:00 突然觉得 python 真特么好,看代码就跟看文章一样 |
24 flyshu 2018-01-12 09:22:59 +08:00 挺好的 原生不都这样写吗 |
25 yichinzhu 2018-01-12 09:27:51 +08:00 via Android 一眼就看到了 SQL 注入,,, |
26 DavidNineRoc 2018-01-12 09:41:08 +08:00 这样子优雅很多 (逃 建议使用 StyleCI 格式化一下代码,有多种标准格式可以选 |
27 v2xe2v 2018-01-12 09:42:43 +08:00 没格式化,难受 |
28 xhinliang 2018-01-12 09:45:56 +08:00 前鹅肠员工路过。 在鹅肠见过比这恶心一百倍的代码。 |
29 ZXCDFGTYU 2018-01-12 10:17:10 +08:00 这代码真的是能写成这样也是一种奇迹,哪怕用个 tp 也不至于写成这样啊。。 |
30 13036101641 2018-01-12 10:18:24 +08:00 一般都有代码规范的插件或者工具吧 |
31 carlclone 2018-01-12 10:22:58 +08:00 远古 PHPer 面向过程面条式代码 |
33 yujieyu7 2018-01-12 10:39:37 +08:00 在 header 函数前加错误控制符是什么鬼? |
34 killall 2018-01-12 10:44:45 +08:00 via Android 这就是传说中的面条代码…不分结构不分分层,所有的东西全都烩到一起,出现问题从头读到尾,数据结构变了得改一堆的文件…业务增长在文件里不停地打补丁,最后知道维护到整个人崩溃。 |
35 justfindu 2018-01-12 10:45:14 +08:00 原生也就只能这样写了 格式化一下也许好看一些 |
36 lepig 2018-01-12 10:45:30 +08:00 还行 没到吐槽的地步 |
37 b821025551b 2018-01-12 10:50:48 +08:00 挺好的了,能看懂,格式化一下逻辑很清晰。 |
40 hei1000 2018-01-12 11:26:13 +08:00 我不是稿 php 的不平论,但是最后那两行长度上真实毁了前面 |
41 mingzu 2018-01-12 11:29:49 +08:00 屏幕挺宽啊... |
42 tongz 2018-01-12 11:41:39 +08:00 看倒是能看,这样写代码维护起来得崩溃,如果我接盘你的代码。。算了我不想爆粗口 |
44 sbw 2018-01-12 11:49:27 +08:00 真羡慕你们不用做国际化的 |
45 HanSonJ 2018-01-12 11:53:29 +08:00 看着不爽,但还能抢救。 嗯,我真的很严格 |
47 jea 2018-01-12 11:59:55 +08:00 这个 应该是早些年的老代码了, 当时这么写肯定是有原因的 我这里也有这种代码, 现在的新入门搞 php 的基本都不知道这种缩写的方式 而且目前都推荐 pdo 了, 预绑定参数和类型, 比这好看多了, 还安全 不用吐槽这个, 直接改了就是了, 老代码中还没有类库的自动加载, 多看看当时的背景, 在当时, 这个可不 low 另外如果是现在的新人写的...直接给个内部规定的规范到脸上去 |
48 NowTime 2018-01-12 12:06:21 +08:00 第 25 行,引入的文件好熟悉,第 61 行,这个 MySQL 操作类也好悉... 消失的彩虹海?=.= |
49 580a388da131 2018-01-12 14:54:29 +08:00 这是典型的初学者代码吧 |
50 0ZXYDDu796nVCFxq 2018-01-12 15:00:55 +08:00 真羡慕你们这些拿到 args 就敢往 sql query 里塞的大佬 |
51 mht 2018-01-12 15:16:22 +08:00 面向过程的写法 不都这样吗.... |
52 catinsides 2018-01-12 15:37:10 +08:00 居然没有人吐槽这个主题的标题 |
53 Sypher 2018-01-12 15:47:55 +08:00 @gstqc 真羡慕你们这些拿到 args 就敢往 sql query 里塞的大佬 -------------------------------------------------------------------- 我 tm 被你这条回复笑哭了,哈哈哈哈哈哈嗝 |
58 tagtag 2018-01-12 16:46:03 +08:00 发一个认为自己代码很差很差的人 or 发一个自己认为很差很差的代码,他代码不行,你语文不行。 |
59 Annual OP @q409195961 应该没有人可以这么傻。。 |
61 onion83 2018-01-12 17:33:04 +08:00 说 SQL 注入的都没好好看代码,paraFilter、daddslashes 是什么? 从代码的风格和逻辑上看没啥大毛病,除了嗦点,改做的非空判断也有,能看懂为什么要在 header 前加一个 @ 的人我敢说楼上没几个。 综上述,码主至少有 >= 1 年 PHP 实际工作经验,这年头不用框架还能裸写 PHPer 没几个了,能搞清逻辑不炫技,踏踏实实搞清业务流程更是难得,在帝都工资开 15k 没问题。 |
62 hcymk2 2018-01-12 17:34:25 +08:00 paraFilter、daddslashes 有多大用? |
63 hcymk2 2018-01-12 17:36:45 +08:00 这个只能说是有些年代的代码了。 还有直接把错误提示写死。 |
64 ioven 2018-01-12 17:55:24 +08:00 几年前的代码风格,和帝国 cms 类似 |
65 pein 2018-01-12 17:56:06 +08:00 还可以了,格式化一下会好很多,你是没见过乱的代码,敢不敢把 wordpress 源码打开看看? |
66 chairuosen 2018-01-12 18:02:39 +08:00 @onion83 前面 echo 了后再写 header 会报 header already sent? |
67 checgg 2018-01-12 18:02:54 +08:00 我曹。又来黑 PHP |
68 nosay 2018-01-12 18:17:57 +08:00 这代码看着好熟悉,莫名的亲切感。并不感觉有什么问题。年代久远点的代码不都长这样?看到 require 和 @你们心里没点 B 数? |
这个订单号重复了怎么办 |
70 UnknownR 2018-01-12 19:25:35 +08:00 和我们新人写的脚本差不多。。 |
71 sensui7 2018-01-12 19:47:42 +08:00 32 行有函数式的影子, 这个不乱, 只是没经过重构而已. |
73 sodowe666 2018-01-12 21:13:13 +08:00 突然发现 Yii2 真美妙 |
74 KgM4gLtF0shViDH3 2018-01-12 21:41:08 +08:00 via Android 没有过滤? |
75 changwei 2018-01-12 21:56:50 +08:00 没有用框架都是这样,很乱很乱,很多重复冗余的代码,我之前在 QQ 群里面接过几个类似的改代码的活儿,吃力不讨好,有看懂这些代码的时间我都用框架给他重构一个了。 但是我也看到了几个亮点,比如 SQL 语句关键词大写,这个可以让 IDE 和编辑器很方便的高亮以及自动查错,还有就是双引号拼接会用大括号将变量包含起来,可以有效防止变量粘连(用大括号强行分离,防止变量名和后面的字符串粘连导致出莫名其妙的 BUG ),这两点我看很多用框架写 php 写了很久的人都没有做到。 |
76 loveyu 2018-01-12 22:12:03 +08:00 via Android 经过楼上各位大神的分析,这段代码质量绝对过关。而且我遇到的大多数人在不用所谓的框架时也很难写得比这好!第一个 header 前面的 @符用来屏蔽 notice 错误,现在开 notice 错误写代码的人,我遇到的太少了。 |
77 mingyun 2018-01-12 23:54:34 +08:00 empty($) && return false; |
78 suit 2018-01-13 00:11:42 +08:00 |
80 Senorsen 2018-01-13 01:03:26 +08:00 不光是乱的问题了,代码本身也有问题。用 addslashes 代替 sql escape 就是一种错误做法。 |
81 Annual OP @suit 你好,回答一下图片。 1,因为是一个 pay 接口,所以并不会预先知道用户开发上使用哪一种请求方式。 2,yes 3,用户状态属性,因为只有 1 和 0 两个值,所以就直接写入了。 4,原作者为什么要这么写我也不清楚,为了不引起各种错误,就没有进行更改,因为这个程序经过大量的 pay 测试。 5,因为是 pay 程序,需要传递商品名称进行保留。 |
82 580a388da131 2018-01-13 06:25:33 +08:00 @Annual $_SERVER['REQUEST_METHOD'] |
83 Seanfuck 2018-01-13 09:16:29 +08:00 挺清晰明了的,代码格式化一下就很好了 |
84 ctro15547 2018-01-13 09:53:22 +08:00 别吝啬空格和回车啊 你要是这样写 python 早就哭晕在大街上了 |
86 Tink PRO 需要格式化 |
87 wizardoz 2018-01-13 13:13:44 +08:00 这个标题我认为就挺乱的 |
88 wmwgijol28 2018-01-23 19:10:29 +08:00 你看过微擎的东西么 |