一个查询系统,用户查询和后台管理分两个系统,一个用 lavarel,一个用 ci 框架,当然,这些都不重要,给大家看一下大神的代码:
$ip = real_ip(); //没有用到
if (isset($_COOKIE['P0001'])) { //p0001 是什么鬼?
$arr["status"] = 1;
$arr["dBTypeList"] = array(
"0" => array("type"=> "0","databaseNtro" => "MySQL"), //databaseNtro 是什么
"1" => array("type"=> "1","databaseNtro" => "Redis"),
);
echo json_encode($arr);
} else {
echo json_encode(array("status"=>0)); //前后返回 json 格式不一样
}
当然,这些都不重要,重要的是
为什么要把这个项目给我做?
1
conwey 2018-05-20 18:16:19 +08:00 via Android
哈哈,你现在写的后面来的人也会这样说。
|
2
phpcxy 2018-05-20 18:18:19 +08:00 via Android
因为要服从上级安排
|
3
Seth8277 2018-05-20 18:40:28 +08:00 via Android
看着你直接复制过来的代码也是头疼
|
4
FrankAdler 2018-05-20 19:02:44 +08:00
这点小问题还好意思说, 你维护过十几年的 php 项目吗, 一个文件几万行见过吗, 一个方法上千行见过吗
|
5
des 2018-05-20 19:10:48 +08:00 via Android
不知道楼主见过,"保证执行顺序用 settimeout,保存操作放在 getxxx 里面" 这样的代码没有
|
6
jojojo OP |
7
allgy 2018-05-20 19:44:48 +08:00
这就是我转 python 的原因
|
8
fhefh 2018-05-20 20:13:14 +08:00
当初跟楼主一样
现已麻木 只管写 业务能跑即可 没人会看你的代码的 除非你有时间重构~ |
9
zjsxwc 2018-05-20 20:32:52 +08:00 via Android
差不多
|
10
Nick66 2018-05-20 20:33:38 +08:00
哈哈
|
11
forestyuan 2018-05-20 20:37:26 +08:00
维护别人的代码肯定好多坑啊
|
12
h1367500190 2018-05-20 21:04:32 +08:00
|
13
wly19960911 2018-05-20 21:12:09 +08:00 via Android
@des settimeout 我用过,为了保证是最后触发,问题我也很无奈啊,前端 ui 框架没有分离,需要实现的功能是动态添加,修改了 Dom 结构导致事件不能直接绑定,加上 ui 框架初始化没有接口,只能用 settimeout 去最后执行事件绑定。
|
14
coolesting 2018-05-20 21:28:42 +08:00
我维护过一个项目,不用 <a> 来跳转页面的, 而是无限的 js 弹出窗口(新的页面)。
|
15
fulvaz 2018-05-20 21:37:42 +08:00
正在维护的 ts 项目.
前人一个函数可以 return 出多种不同的类型, 一个函数根据传入参数的不同可以做很多事情 全是 initValue 和 pickItem, 至于返回了什么只有他知道. 开发环境崩了 后端 api 文档不更新了 不遵守 tslint 完全把 ts 当 js 写了, 对象没任何 type 定义 把 redux 的 store 当 obj 用, 如 store.a = xxx 全是复制粘贴. 诡异的实现方法 全世界在催我 -------------------------- TM 这么恶劣的条件我竟然一个个猜到了这坨东西写了啥! 然后一个个重构命名! |
16
jojojo OP |
17
fulvaz 2018-05-20 21:44:05 +08:00
@des 来个刺激的
实现这么一个需求 父组件点击打开按钮时, 子组件会执行对应的动作, 然后子组件动作执行结束后, 父组件再执行其他动作. 然后出现了这样的写法 将父组件的 open 属性传给子组件作为 input 然后父组件点了打开, 就会出现这么一个执行顺序的东西... 父.open = true -> 子的 onChange 生命周期函数判断自己的 open 为 true, 做自己的事情 -> 父的定时器 100 触发, 执行自己的动作. 这还是个用了全局状态的项目. |
18
iRiven 2018-05-20 22:16:31 +08:00 via iPad
这代码真心没啥好吐槽的
|
19
mahone3297 2018-05-20 22:31:47 +08:00
@fulvaz 》 TM 这么恶劣的条件我竟然一个个猜到了这坨东西写了啥!
看来写的还可以。。。别人还是看得懂的,哈哈哈 |
20
Linxing 2018-05-20 22:36:08 +08:00 via iPhone
逼着你重构一个
|
21
Actrace 2018-05-20 22:43:41 +08:00
其实我总结一下各位的意见,就是他写的代码我,,,
不想读不想读不想读,我不想知道他到底写的是什么,他算老几,我为什么要去理解他的代码, 大概应该是这样。 |
22
spark20 2018-05-20 22:48:48 +08:00 via Android
我觉得只要把变量的意思,算法,写清楚就好了吧,其他的还好说
|
23
GGGG430 2018-05-21 00:44:09 +08:00 via iPhone 1
else 看着难受
|
24
xjroot 2018-05-21 03:37:41 +08:00
直接删除,自己重写吧。 就单纯 $_COOKIE['P0001'] ,就可以搞点事情了, 返回 json 这个判断写的根本无法用。
|
25
karlxu 2018-05-21 08:58:36 +08:00
当时我也是,维护了几个月,放弃了,用 Django 重写了
|
26
nosay 2018-05-21 09:09:02 +08:00 1
v 站的人似乎不怎么接二次开发..
反正我接很多二次开发 这代码还有什么好吐槽的?太年轻了! 重构? v 站的很多人好像时间很多的样子... 不说了,继续搬砖了 |
27
yangqi 2018-05-21 09:13:34 +08:00 1
这么简单的代码有啥好吐槽的,看懂大概意思就行了,你揪着细节不放,应该先问一下你自己有没有同样的问题。
|
28
chairuosen 2018-05-21 09:35:52 +08:00
每一个王子最后都会变成恶龙
|
29
zarte 2018-05-21 09:45:54 +08:00
第一个不用了懒得去掉,第二个想不到英文,第三个英文太长缩写不知道该怎么缩,第四个返回格式是一样的。
|
30
changepll 2018-05-21 09:51:06 +08:00
质量这么高的代码,楼主有什么好抱怨的
|
31
azh7138m 2018-05-21 09:55:25 +08:00
@wly19960911 事件委托了解一下?
|
32
fcten 2018-05-21 10:00:30 +08:00
这 json 格式哪里不一致了,不是有个通用的 status 属性用来判断吗
|
33
wly19960911 2018-05-21 10:05:29 +08:00 via Android
@azh7138m 恩,想了下的确我错了,不过这个委托都快到根节点了。
|
34
RorschachZZZ 2018-05-21 10:11:35 +08:00
现在我维护古董代码。只要变量和方法命名规范点、再稍微有点业务解释。感觉已经非常满足了。。
|
35
ryuzaki113 2018-05-21 10:12:52 +08:00
不知道楼主有没有见过,“防止保存失败,for 循环保存一百次”
|
36
linxl 2018-05-21 10:22:40 +08:00
命名确实看不懂干啥的, 坑啊
|
37
broadliyn 2018-05-21 10:30:15 +08:00 3
有能力的人早就在开始在理旧代码思路和做重构了。没能力的人跟个怨妇一样贴一通代码到坛子里来获取认同感。
能把代码看明白整清楚也是一个能力明白吗?你自己写的代码,后边接手的人一样会喷你写的辣鸡。 很多时候你不是当事人,没有代入当时的需求场景,你根本不会知道为什么他当时会这么写。换成是你自己,估计也不会写的更好。 只要不是因为能力水平差、思路逻辑混乱写出来的代码,一般都不会是烂代码 |
38
nowgoo 2018-05-21 10:42:21 +08:00
isset($_COOKIE['P0001']) 可能是一个隐藏的调试开关。
|
39
Felldeadbird 2018-05-21 11:02:34 +08:00
接受现实是每个程序员成长必经之路。
|
40
lj3lj3 2018-05-21 11:09:06 +08:00
这样的代码风格已经不错了 看我接手的
``` $username = htmlspecialchars($_SESSION['adminname'],ENT_COMPAT ,'GB2312');//用户 $addtime = time(); if($addcode!=$originator){ exit("<script type='text/javascript'> alert('请不要刷新本页面或重复提交表单!');location.href='".$sourceurl."';</script>"); }else{ unset($_SESSION["addcode"]); if($id!="" && $name!=""){ $que=$db->query("select * from ".$cfg_dbpre."news where id=$id"); $num=$db -> num_rows($que); ``` |
41
NxiJSiOS 2018-05-21 11:10:44 +08:00
正常
|
42
t2doo 2018-05-21 11:42:05 +08:00
这就叫你头疼啦,那你是没看过我写的 PHP 啰,哈哈哈
|
43
jadec0der 2018-05-21 11:44:40 +08:00
贵司的缩进是八个空格?
|
45
azh7138m 2018-05-21 12:19:28 +08:00
@wly19960911 react 都在 document 上处理事件,根节点就根节点呗
|
47
annielong 2018-05-21 15:59:13 +08:00
感觉写的没什么大问题,一看就知道这个是干嘛的了,
|
48
foursking 2018-05-21 16:06:36 +08:00
就这心态,离职吧
|
49
joeke 2018-05-21 16:13:25 +08:00
这个只是意思上的不理解而已,也没啥好吐槽的,实在不行就自己重构呗
|
51
qcind 2018-05-21 16:40:45 +08:00
祖传的代码,要好好守着。
|
52
realpg 2018-05-21 16:56:25 +08:00
我觉得楼主贴这些代码没啥太大的问题。
肯定是有点难懂需要结合其他代码(如果没有文档),但是绝对不算啥大坑 |
53
lepig 2018-05-21 17:05:37 +08:00
楼主 刚开始工作吗
|
54
konakona 2018-05-21 17:35:28 +08:00
哈哈,不写注释党。
|
55
Justin13 2018-05-21 18:44:16 +08:00 via Android
js,一个 8000 行的函数见过没。
|
56
liuxu 2018-05-21 18:55:32 +08:00
清晰易懂啊
|
57
paranoiagu 2018-05-21 18:56:53 +08:00 via Android
人肉混淆听说过吗?
|