刚来新公司,被要求接手下面这样的代码(很多语句后面都有分号), 被要求花两天的时间把项目上线,我内心是....,
if body_js.__contains__("cltnms"):
cltnms = body_js["cltnms"];
mobiles = body_js["mobiles"];
cltids = body_js["cltids"];
cltnms = strip_string(cltnms);
cltids = strip_string(cltids);
mobiles = strip_string(mobiles);
if cltnms != "" and cltids != "" and mobiles != "":
mobiles_list = [];
mobiles_list.append(mobiles);
param = {"name": cltnms, "id": cltids, "cell": mobiles_list};
p_res = self.proc_data(reqid, appid, erpid, cltids, cltnms, mobiles, param);
out_res["配偶"] = p_res;
else:
self.logger.error("配偶信息为空. appid : %s", appid);
1
2225377fjs 2016-08-26 15:06:34 +08:00
业务代码 写成这样算是挺工整负责的,分号好像不影响啥吧,你不写不就是了啊。。。
|
2
xujunfu OP @2225377fjs , 我知道分号没影响的啊, 但是一看到这样的项目就没有心情,再去修改了,更不要说里面逻辑有多混乱.
|
3
fjzjk 2016-08-26 15:17:53 +08:00
没啥啊,这样不是很好理解。对于我这样 c#的人来说
|
4
theoractice 2016-08-26 15:24:16 +08:00
LZ 为何说这是类 C 代码?除了分号还有其他理由吗?我也觉得跟 c#代码更沾边一些。如果是我跟 3 楼这样的人,心情估计是变好了才对。
|
5
9hills 2016-08-26 15:46:35 +08:00
cltnms , mobiles , cltids 同样的逻辑重复三次好难受
|
6
dragonszy 2016-08-26 15:48:39 +08:00
可能原来只有 8 行,然后 KPI 有一项代码行数,重构成这样了。。
|
8
skydiver 2016-08-26 16:29:07 +08:00
随便找个代码格式化工具不就解决了?
|
9
mdzz 2016-08-26 16:49:23 +08:00
之前的同学可能是写 PHP 的(逃
|
10
levn 2016-08-26 16:52:12 +08:00
没看出哪里恐怖
|
11
Lonely 2016-08-26 16:54:12 +08:00 via iPhone
不知道楼主写的是啥样,放出来瞧瞧
|
12
wolegequ 2016-08-26 16:54:32 +08:00
so, how to do it in py ?
|
13
alexapollo 2016-08-26 16:57:54 +08:00 1
%s/;$//g
|
14
taozle 2016-08-26 17:53:15 +08:00
> body_js.__contains__("cltnms")
... |
15
tobyxdd 2016-08-26 17:58:26 +08:00
不就是有分号么。。至于逻辑我觉得挺清晰易懂的
|
16
mcfog 2016-08-26 19:02:47 +08:00
楼主是没见到过把 C 代码写成类 Python 的样子的吧
|
17
htfy96 2016-08-26 19:13:37 +08:00 via Android
不知道你们有没有看过 SymEngine 的代码…愣是把 C++写出了 Python 味:
- &&全用 and 代替 - 所有类都继承一个基类,里面搞了一堆 py 的 magic method |
18
alexapollo 2016-08-27 16:13:36 +08:00
@htfy96 我还有专门一个库是做这种转换的,但有些地方还是很难做,比如 in 语法
|
19
htfy96 2016-08-27 16:16:00 +08:00 via Android
@alexapollo 能分享一下吗?
|
20
alexapollo 2016-08-27 16:17:16 +08:00 1
@htfy96 可以,我找时间开源出来
|