别的团队交接过来一个十几万行的 Python 项目,要重构成 Java ,我真的吐了,一点文档也没有。
Python 里面大量的访问各种 RPC 接口,关键是特别喜欢自己转换 rpc 返回的结构,还非要用字典去自定义结构!
现在好了,到处都是字典 + 字符串取值,这个字符串 key 还是尼玛自己定义的,和 idl 都对不上,得自己去代码里面到处翻找,看看到底是哪个接口返回的。
最离谱的是命名还会骗人,弱类型就算了,好歹命名漂亮点吧。"xxx_list"
是个字符串我真的服了,甚至就连 "user"
也能是个字符串……
现在国内的现状就是领导疯狂催,程序员疲于奔命,谁天天给你写文档,代码迭代几次连自己都不认得了,还搞弱类型,万一熟悉项目的人走了后面的人根本没办法看,都都读不懂。再加上英语水平有限,命名真的是一塌糊涂,更加重了理解问题。
101
hoopan 157 天前 via Android
跟语言无关,主要看写法规不规范,编程思想成不成熟。弱类型有足够多的灵活性,但会被人滥用。有些人连面向对象都不懂,你指望他能写出什么好代码。
|
102
zeusho871 157 天前
‘没有类型、没有单测,什么都没有,后人很可能直接一个趔趄就掉进坑里摔死了……’
类型可以 hint 单测没有不是项目最初开发的问题吗。。。 |
103
Sayuri 157 天前 via Android 1
写 typescript 的人也 any 满天飞,没办法。
有时候洁癖起来,写 string | number 也算很烂的类型,一定要写成 T extends xxx ? string : number 才算满足洁癖。 |
104
clemente 157 天前
加个 trace 看一下不就完了
|
105
winterbells 157 天前 via Android
最近也天天改 Python ,吐血了
鬼知道传进来的参数是什么东西,特别是整个项目就没几行注释,方法随便一点几百个引用,点开发现就是名字一样而已 |
106
gray0 156 天前
如果我掏出 Map map 和 JSONObject ,阁下又该如何应对?
|
107
pangzipp 156 天前
给多少人资源重构该项目?
每个时代都有其客观存在的历史条件 |
108
laike9m 156 天前
你们公司都开始重构了,说明 Python 写的东西早就帮你们赚到钱了,还有啥抱怨的
|
109
tsanie 156 天前
@DOLLOR #42
歪个楼,c#确实可以通过 "NaN will never equal to itself" 来通过等式判断。 double x = double.NaN; Console.WriteLine(x != x); // true 当然正规来说还是得通过 double.IsNaN(x)来判断 |
110
dongzhuo777 156 天前
@DOLLOR 有一个最大的天坑,
Double x = null; List<Double> list = new ArrayList<>(); ..... list.add(x); .... 然后 后面操作 list 的适合就 GG 了。我可以打包票 90%的人写代码都不会去校验这个 null |
111
shawnbluce 156 天前
@walkeronway #7 我也这么干过,当时刚工作没多久,被一个老员工说「你这啥语法啊,Python 不能这么写」🤷 (就是那种一年工作经验用了十年的老员工)
|
112
djasdjds 156 天前
print 只能,接手都这样
|
113
ala2008 156 天前
说明工作量够了,可以苟一波到年底
|
114
nightcatlu 155 天前 via Android
现在不是 openai 直接生成,工作量省 90%吗
|
116
feiyan35488 155 天前
掉进 java 的屎山,你也爬不出来的
|
117
CyouYamato 155 天前
我刚入的小公司就是用 express+js 做后端。
方法命名还是些什么 getDataList1,getDataList2 。。 代码合并直接给测试环境 root 用户,自己 ssh 连上去合并发布,逆天。。 接口类型验证全是方法里自己手动校验,技术 leader 也不知道 JsLint 、EsLint 、Prettier 是什么。 另外提了个过度方案 ts 和 js 共存,然后逐步改造,被否。主要就是技术 leader 阻碍不让干,然后老板也就不同意。一开始老板还是开心讨论的! 懒得管了,代码我也一起跟着摆烂就完事。公司完全不在乎代码规范,想推行规范化,流程化,完全推不动。严重怀疑 leader 防御性编程。不是开的工资比我前司高 40%多早跑了。 感觉他们应该不会用 v2 ,不担心熟人~ |
118
lambdaq 153 天前
|
119
Makabaka01 OP @lambdaq 这都不是一个问题……
|