为甚编程语言的package总是不停换语法

m
mysunnyday
楼主 (北美华人网)
原来selenium包里用driver.find_element_by_xpath (...),用得好好得。更新了一下包,结果错误,语法不能用了,非得改成----driver.find_element("xpath", ....)
类似得例子还有好多。。。
为啥啊?非要改来改去吗?
m
mt.everest
你这个也挺容易改的啊,就打开vscode,然后把_by_xpath ( 改成t("xpath", 选relapace all 不就得了,这不是大问题。
大问题从来不在语法,而是悄悄的升级之后改了黑盒里的功能。妈妈的。

m
minqidev
升级可以养活好多人啊。
Q
Qstar
生命不息,折腾不止
D
DJB2023
原来selenium包里用driver.find_element_by_xpath (...),用得好好得。更新了一下包,结果错误,语法不能用了,非得改成----driver.find_element("xpath", ....)
类似得例子还有好多。。。
为啥啊?非要改来改去吗?
mysunnyday 发表于 2023-07-27 15:23

要不然程序员不就没活干了?还怎么拿大包裹啊
扶苏
你说的这个selenium我不清楚。但是作为程序员,改动成熟的function interface是大忌。eliminate 有人在用的function也是大忌,都会破坏backward compatible。会影响已经在使用的client。一般都是写一个新的,在原有的function内部去改动去用新的function。而不会彻底obsolete原有的。
只能说selenium对于backward compatible做的很不好。
如果是library的话,都会在comment里写清楚这个是obsolete的function,让人不要用,但是不会直接删除。我们写C++,会有新的东西不断加入,但是旧的也必须支持啊。不然所有人的platform都要broke了。