一次 github 跟开源大佬的抬杠经历

2023 年 11 月 18 日
 realpg

先叠个盾: 感谢所有开源作者的贡献


不是前端,写个小工具,需要有个简单的界面,于是找了一个比较知名的开源前端 UI 库,非常好上手

几十分钟就写完了,非常不错 完全就按照 sample 拷的代码就行了 因为也只是需要一些基础的功能,显示个 alert ,做个 input 采集用户数据之类

调试时,发现了一个问题,UI 组件之间的排列逻辑有点小问题,于是!important 一把梭 完成任务收工


闲下来了,觉得这问题肯定不是我一个人遇到的,就去了 github 提了个 issue 标签 bug

就像我前面说的,我也不是前端,基本停留在知道 dom 是啥会 getElementById 和理解简单 js 语法的程度

问题所在呢,就是这个 UI 库提供了一个组件,就是整个屏幕都变成半透明灰色没法点,然后中间弹一个类似桌面程序 modal 窗口的的框弹出的是白色的框,产生反差,里面可以自由发挥 html 代码的组件 不知道这玩意你们一般叫啥

这个组件显示是正常的,我完全 copy 的手册的代码,只是把中间的文字替换成了我要显示的文字

然后无意发现,这个组件下面的基本布局组件里有个色块,不会被变灰遮挡,也不会被弹出的 modal 窗口遮挡,modal 窗口正中间有个超级鲜艳的色块

我对 html 还是有点概念的,这应该是下面那个组件里有一部分颜色功能用了 relative/absolute 定位(这玩意不存在用 fixed 定位吧)给了个 z-index 1 导致的问题 相当于类似 floating 的状态

他 z-index 给 1 是因为他想让这个东西显示在他那个组件内部的基准层上面 1 层

而这个白色的框是 display:block 的 普通定位 就到下面去了

这里我最开始犯了个错误 因为这个 modal 状态 F12 不好定位 而 html 是通过前端框架渲染的 代码里写的是模板 所以我漏掉了 直接看那个白色框的 block 的状态 position 是默认值 刚开始以为这个组件整体不是 floating 的状态

提完了 issue 很快维护的大佬就来解答了

他纠正了我的错误分析 告诉我这个组件都是非默认 position 的

然后我又回去仔细找了下,确实,那个背景整体变灰是个 fixed 的 width height 都是 100%的 div 且 z-index 是 1

两个 z-index 都是 1 结果就是按定义顺序了 问题发现

维护的大佬纠正的我的想法时,另外说到: “这是个 z-index 合不合理的问题”

我认为这不合理,我就反问了一句,那你认为这种 modal 功能而论,给 1 的 z-index 到底合不合理?说这话时候,我认为这不合理。我认为这种组件默认应该有一个较高的 z-index 。没必要最高给个 2000 但是高于一般组件 让这个东西确实能遮住大部分组件,应该是正常人类应该有的思维吧?

到这里,我这个职业杠精八代高低杠转世都没想杠什么,您说了,我就一提,委婉的表示了一下我认为这个不太合理,咱是不是要在远期版本改进一下这个默认值 改个 3 或者 5 之类 这就完事了

然后就得到了一个公式化的答复

“它们的层级是一样的,所以最终它们展示上的层级和在文档流的顺序也有关系。修改默认的 z-index 值属于 breaking change 。不过提供了 z-index 的 prop 和 css 变量,你可以根据项目的实际情况进行配置。”

说实话,这玩意我已经改完了,也没用他的方法,因为文档里压根就没写过这玩意要怎么改,变量在哪也没看到,也没有说明。我不觉得一个公开的知名的广泛传播的开源组件,我不过分的基础用法使用它还得去看他源码怎么写的才能正常用

然后我就吐槽了一句,贵司果然大厂风范。然后我就主动 close 了这个 issue 。 毕竟大周末的,不是带薪抬杠,跟大佬在 github 杠不划算……

为啥大厂风范呢?因为这个开源代码在某个大厂的组织下,而不是在个人作者名下。项目简介明确写道是该厂开源产品,且用了该厂商标。

都 closed 了的,该大佬又跑来跟我一顿解释。

可是我就想知道,大佬认为这个到底合不合理,我就杠了一下 我只是想知道你认为到底合不合理

然后又换来了长篇大论的解释……

可是我只是想知道,到底大佬们怎么想的,这种设计到底合不合理。你要觉得合理,你就告诉我合理,以后我也多学习学习怎么设计这种合理。

我就又补充了一句,我只是想知道到底合不合理,能不能用一个字或者两个字告诉我到底合理不合理。我说大厂风范,就是指的这种从不正面面对问题,顾左右耳言他的行为

然后,我就又收获了更长的一篇长篇大论……

这次还用 markdown 给我列了 1 2 3 4

其中第四条是

“默认的值无论是什么都有可能在某个场景下是不合理的。”

我就想知道,现在程序员的群体里,都已经这样了么?话不能直接说,沟通不能简洁有效 什么都得长篇大论,生怕触动了原始写这段代码的巨佬的权威

你觉得合理,你就明确的告诉我合理,我也接受就完事了

60639 次点击
所在节点    程序员
333 条回复
mario34
2023 年 11 月 18 日
贴个地址让大家瞧瞧,顺便看看能不能解决你的问题 😅
fregie
2023 年 11 月 18 日
你就是个纯杠精,看见大家都在骂你我就放心了。
你的想法:我觉得不合理所以需要改
对方的想法:虽然不合理但是没必要改
你如果不是给项目提建议,就是想知道对方的想法,何必在这个项目里提 issue ?
所以你并不是只是单纯的想知道对方是否觉得合理
你先搞清楚你在干什么,再搞清楚你在说什么,最重要的是搞清楚你想要的是什么
NCZkevin
2023 年 11 月 18 日
你自己跳出来要被网暴? z-index 无论设置成啥在部分场景下都是不合理的,你的世界只有 0 和 1 ,没有 0-1 的中间态吗?去看了 issue 只感觉到你既无知也没礼貌。
Imindzzz
2023 年 11 月 18 日
这么多人都觉得你不对,不会承认自己错误然后 append 一份道歉吗
shakaraka
2023 年 11 月 18 日
自己挂自己。这脑回路前所未现
skwyl
2023 年 11 月 18 日
牛,把 issue 从上到下看了一遍,目前只发现 OP 在阴阳怪气人,这个作者也说了“由用户自己根据需要配置层级”,所以这有什么好纠结的,这不算 bug 仅仅是设计上规避一些冲突,不要那么浮躁。
Eagleyes
2023 年 11 月 19 日
一句话能说清楚的事非要说十句话,楼主想吐槽的就是这个吧?

理解楼主的吐槽。

越是水平高,官职大的人,回答问题越严谨,又或者说说话长篇大论。(俗称打官腔)

他们不会简单的 回答是 or 否,通常是不给结论或者列出 1234 让你自己“悟”出结论。
j0hnj
2023 年 11 月 19 日

zhw2590582
2023 年 11 月 19 日
怕是 100 个人里有 99.9 个人都认为你的态度不好,老老实实认个错吧
sloknyyz
2023 年 11 月 19 日
自挂东南枝,小丑竟是你自己
tbg
2023 年 11 月 19 日
受不了了,直接把 op 这个傻逼拉黑了
forgottenPerson
2023 年 11 月 19 日
老哥是想要明确的对于他这个问题的答案,yes or no,但是这个问题对于对方来看没法给出十分明确的答案,看场景,并给出一系列理由阐述自己的观点。而老哥只是想让对方明确的回答他的问题就行了。而对方确实根据他的判断没法简单地给出十分明确也就是是还不是的答案。

这也说明了,与其问别人,其实还不如自己试一下,自己思考一下,这也是很多人问问题能听懂别人说的啥其实对问题本身就知道的大差不差的,要是一点不知道,别人说的就跟没说一样,哪怕喂到嘴里还是不知道。所以结论是,自己多试多写写多想想,自己对自己的问题才是最清楚的
asyqm
2023 年 11 月 19 日
我理解其实对方已经说的挺明确的了吧?开源组件的代码本身大部分并不是给某个特定唯一场景使用的,那么“默认值”这个事情对于 A 用户和 B 用户的理解本身就是不一样的。这不是很正常的事么?
lguan
2023 年 11 月 19 日
看了一下发帖历史,已经不是第一次这么干了,这过去一年多了,还一点没成长,挺为一个公司里面同为同事的人难过的,这都啥人啊...
28Sv0ngQfIE7Yloe
2023 年 11 月 19 日
"不愧大厂风范"

什么人会在 issue 里这样回复?
qiuyk
2023 年 11 月 19 日
看笑了😂
superpeaser
2023 年 11 月 19 日
全世界我最牛逼?😂不要试图在人家专业领域打败人家。
yidadaa
2023 年 11 月 19 日
说真的,我建议你去看看心理医生,你的精神状态不像是正常的样子。
LonnyWong
2023 年 11 月 19 日
看到 GitHub 那么多踩我就放心了: https://github.com/youzan/vant/issues/12453#issuecomment-1817456536
LonnyWong
2023 年 11 月 19 日

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

https://v2ex.ih06.com/t/993100

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

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

© 2021 V2EX