现在极其厌恶弱类型语言,弱类型就不适合中国的职场环境

69 天前
 willx12123

别的团队交接过来一个十几万行的 Python 项目,要重构成 Java ,我真的吐了,一点文档也没有。

Python 里面大量的访问各种 RPC 接口,关键是特别喜欢自己转换 rpc 返回的结构,还非要用字典去自定义结构!

现在好了,到处都是字典 + 字符串取值,这个字符串 key 还是尼玛自己定义的,和 idl 都对不上,得自己去代码里面到处翻找,看看到底是哪个接口返回的。

最离谱的是命名还会骗人,弱类型就算了,好歹命名漂亮点吧。"xxx_list" 是个字符串我真的服了,甚至就连 "user" 也能是个字符串……


现在国内的现状就是领导疯狂催,程序员疲于奔命,谁天天给你写文档,代码迭代几次连自己都不认得了,还搞弱类型,万一熟悉项目的人走了后面的人根本没办法看,都都读不懂。再加上英语水平有限,命名真的是一塌糊涂,更加重了理解问题。

12620 次点击
所在节点    程序员
119 条回复
hoopan
68 天前
跟语言无关,主要看写法规不规范,编程思想成不成熟。弱类型有足够多的灵活性,但会被人滥用。有些人连面向对象都不懂,你指望他能写出什么好代码。
zeusho871
68 天前
‘没有类型、没有单测,什么都没有,后人很可能直接一个趔趄就掉进坑里摔死了……’
类型可以 hint 单测没有不是项目最初开发的问题吗。。。
Sayuri
68 天前
写 typescript 的人也 any 满天飞,没办法。
有时候洁癖起来,写 string | number 也算很烂的类型,一定要写成 T extends xxx ? string : number 才算满足洁癖。
clemente
68 天前
加个 trace 看一下不就完了
winterbells
67 天前
最近也天天改 Python ,吐血了
鬼知道传进来的参数是什么东西,特别是整个项目就没几行注释,方法随便一点几百个引用,点开发现就是名字一样而已
gray0
67 天前
如果我掏出 Map map 和 JSONObject ,阁下又该如何应对?
pangzipp
67 天前
给多少人资源重构该项目?
每个时代都有其客观存在的历史条件
laike9m
67 天前
你们公司都开始重构了,说明 Python 写的东西早就帮你们赚到钱了,还有啥抱怨的
tsanie
67 天前
@DOLLOR #42

歪个楼,c#确实可以通过 "NaN will never equal to itself" 来通过等式判断。
double x = double.NaN;
Console.WriteLine(x != x); // true
当然正规来说还是得通过 double.IsNaN(x)来判断
dongzhuo777
67 天前
@DOLLOR 有一个最大的天坑,
Double x = null;
List<Double> list = new ArrayList<>();
.....
list.add(x);
....
然后 后面操作 list 的适合就 GG 了。我可以打包票 90%的人写代码都不会去校验这个 null
shawnbluce
66 天前
@walkeronway #7 我也这么干过,当时刚工作没多久,被一个老员工说「你这啥语法啊,Python 不能这么写」🤷 (就是那种一年工作经验用了十年的老员工)
djasdjds
66 天前
print 只能,接手都这样
ala2008
66 天前
说明工作量够了,可以苟一波到年底
nightcatlu
66 天前
现在不是 openai 直接生成,工作量省 90%吗
jones2000
65 天前
@Sayuri js 本来就可以是任意类型,为什么要非要强制指定类型,这么好的功能直接就给废了。哎。
feiyan35488
65 天前
掉进 java 的屎山,你也爬不出来的
CyouYamato
65 天前
我刚入的小公司就是用 express+js 做后端。
方法命名还是些什么 getDataList1,getDataList2 。。
代码合并直接给测试环境 root 用户,自己 ssh 连上去合并发布,逆天。。
接口类型验证全是方法里自己手动校验,技术 leader 也不知道 JsLint 、EsLint 、Prettier 是什么。
另外提了个过度方案 ts 和 js 共存,然后逐步改造,被否。主要就是技术 leader 阻碍不让干,然后老板也就不同意。一开始老板还是开心讨论的!
懒得管了,代码我也一起跟着摆烂就完事。公司完全不在乎代码规范,想推行规范化,流程化,完全推不动。严重怀疑 leader 防御性编程。不是开的工资比我前司高 40%多早跑了。
感觉他们应该不会用 v2 ,不担心熟人~
lambdaq
64 天前
你们俩打一架

/t/1057942 被 go 语言的 json.Marshal 恶心到了
willx12123
60 天前
@lambdaq 这都不是一个问题……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1056990

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX