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