为什么公司的人写代码都无视 IDE 的警告提示? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
magese
V2EX    程序员

为什么公司的人写代码都无视 IDE 的警告提示?

  magese
magese 2022-08-18 17:43:54 +08:00 17330 次点击
这是一个创建于 1153 天前的主题,其中的信息可能已经有所发展或是发生改变。

现在 IDE 的代码提示已经很完善了,为啥大家都不关注警告的?

前前后后也待过好几家大大小小的公司了,没见过一个人写的代码是 0 Warning 0 Error的。

打开一个类全是黄黄的不难受的吗?

img

强迫症已经要死了……

147 条回复    2022-09-03 21:42:02 +08:00
1  2  
toomoy
    1
toomoy  
   2022-08-18 17:44:43 +08:00   5
又不是不能跑...
yfugibr
    2
yfugibr  
   2022-08-18 17:46:16 +08:00 via Android   12
难受,但改了又不给加工资,习惯就好了
eason1874
    3
eason1874  
   2022-08-18 17:46:41 +08:00   5
我已阅读并同意忽略此 Warning
yukiww233
    4
yukiww233  
   2022-08-18 17:48:19 +08:00
大概很多 warning 都只是建议?
比如我项目里最多的 warning 是
个人觉得改弊大于利
wolfie
    5
wolfie  
   2022-08-18 17:51:38 +08:00   1
前阵子看到的代码。

if (true) {
return true;
} else {
return false;
}

多数人看不懂英文或者看得吃力。
magese
    6
magese  
OP
   2022-08-18 17:51:40 +08:00   2
其实很多警告都把一些可能会发生的 bug 提示出来了,比如用 Integer.equals(String) 这种,还有一些冗余代码也会有警告提示。
GeorgeGalway
    7
GeorgeGalway  
   2022-08-18 17:52:21 +08:00
我们项目都是红红的都没人鸟它 : )
不过红红的还能跑我也是很费解
magese
    8
magese  
OP
   2022-08-18 17:53:09 +08:00   1
@wolfie #5 确实是啊,我也看过这种,我觉得能把代码写得 0Warning 就少了很多 bug 和无效代码了。
debuggerx
    9
debuggerx  
   2022-08-18 17:53:20 +08:00   14
我自己的项目会追求 0 Warning 0 Error 甚至 0 Typo
如果是 Warning 本身不合理 我会改 lint 规则
如果确实是特例 我也会加 // ignore for this line
gam2046
    10
gam2046  
   2022-08-18 17:55:01 +08:00
大概是改不过来了。我编译过一些 Google 的项目,也是一堆 warning
ymy3232
    11
ymy3232  
   2022-08-18 17:56:57 +08:00
一个类 1000 多个警告 两个 error 在线上照样跑
BeautifulSoap
    12
BeautifulSoap  
   2022-08-18 17:58:56 +08:00 via Android
lz 一定没经过 c 或 c++的洗礼,写过之后就能养成无视 warning 的习惯了
Leonard
    13
Leonard  
   2022-08-18 18:01:11 +08:00
导入一个库一千多个 warning ,没法改,习惯就好了
AoEiuV020CN
    14
AoEiuV020CN  
   2022-08-18 18:01:19 +08:00
拿钱写代码不干多余的事,
cmdOptionKana
    15
cmdOptionKana  
   2022-08-18 18:02:25 +08:00
@GeorgeGalway 如果是静态语言,可能是 IDE 里的环境与实际跑的环境不一致。如果是 js, python 之类的动态语言,那就太正常了,红了照样跑。
joesonw
    16
joesonw  
   2022-08-18 18:04:10 +08:00 via iPhone
上 lint 啊,CI 过不了,代码进不去。
vicalloy
    17
vicalloy  
   2022-08-18 18:04:42 +08:00
告警可以设置忽略的。如果你可以掌控项目,加个 pre-commit ,检查不过不让提交。
如果你掌控不了,假装没看到。
Maxwe11
    18
Maxwe11  
   2022-08-18 18:11:48 +08:00
“炒股有风险 投资需谨慎”
Vegetable
    19
Vegetable  
   2022-08-18 18:16:51 +08:00
编辑器的 warning 确实不是非得清零

编辑器提示的警告可能不是来自于通用工具,比如我记得 idea 会提示你单词拼错了。团队内部多人协作一般不会强制要求大家使用相同的编辑器,就容易出现大家看到不同的警告的问题。你这边用 idea ,他用 vscode ,结果你们看到的警告不一样,甚至互相冲突,清理谁的呢?

这方面其实建议引入基于包管理工具的代码风格检查和约束,不同的语言多少都会有一套工具。这种工具的好处是不依赖编辑器,同时可以集成到 CI 中。但是代码风格强约束是一种双刃剑,对效率的影响究与项目规模、团队水平都有很大关系,不能一概而论。
LavaC
    20
LavaC  
   2022-08-18 18:21:25 +08:00   2
到公司接的第一个项目一次热加载光 warning 提示都要滚半分钟,切切实实影响效率。
prudence
    21
prudence  
   2022-08-18 18:24:02 +08:00
有的看到会管,有的不会,
比如 string 可 空 以前旧的版本根本不提示,新的版本 还要提示你加一个 string? 问号,几十上百个 string 一个个去改 不如多摸会鱼
sky857412
    22
sky857412  
   2022-08-18 18:28:10 +08:00
又不是不能用
lancelock
    23
lancelock  
   2022-08-18 18:28:29 +08:00
我自己写的基本都清,倒也不是很有追求,主要是看着太丑了。。
旧代码和别人的就不会管了,不自找麻烦
106npo
    24
106npo  
   2022-08-18 18:28:35 +08:00 via Android
@prudence 我记得这个有项目下全部同意更换的选项的
duan602728596
    25
duan602728596  
   2022-08-18 18:41:37 +08:00
有些不一定是代码的原因,所以没法改。比如 react 支持 jsx-runtime 后,ide 仍然提示要 import React 这种。
edis0n0
    26
edis0n0  
   2022-08-18 18:45:17 +08:00   3
程序和程序员有一个能跑就够了
wuvvu
    27
wuvvu  
   2022-08-18 18:46:23 +08:00
自己用的 idea ,领导用的 netbeans8.2 不认识 js 的 let 关键字,被迫改为 var ,然后项目里面一堆 var 报警告。
对于有代码洁癖的来说确实很难受。
rekulas
    28
rekulas  
   2022-08-18 19:05:20 +08:00
都说了是 warning 了说明代码没有明显问题,大多数情况下不用处理
而且有些 warning 并非代码问题,有可能
编辑器本身解析问题
开发环境软件版本差异问题
废旧 api 问题

说实话软件 ide 的警告都算少了,去试试一些 3d 软件动辄几十上百个警告你如果还不够佛性怕得疯
netnr
    29
netnr  
   2022-08-18 19:18:33 +08:00 via Android
有可能 ide 自身源码都有很多警告
fyibmsd
    30
fyibmsd  
   2022-08-18 19:21:01 +08:00   1
我就是 0Warning 0Error 0Typo
FrankHB
    31
FrankHB  
   2022-08-18 19:50:07 +08:00
完 善?

一看就知道 OP 没体验过 VS 的红线有多蠢。
再讲个笑话,CLion:HTTP 链接不安全。
编译器就算了,你个 IDE 也配定义啥叫 Error 啥叫 Warning ?

没能力区分诊断消息来源和区别分析原因的开发者,拎不清程序语义和业务目的要求的含义的,review 时直接盯着重点伺候。
westoy
    32
westoy  
   2022-08-18 19:53:55 +08:00   5
学的时候要把警告当错误

写的时候警告是个 JB..........
zjp
    33
zjp  
   2022-08-18 19:58:44 +08:00
#31 VS 不清楚,JetBrains 家的 IDE 都可以配置 inspection,默认配置下都几乎没有遇到误报的情况
部分像#6 提到的 Warning 就显然是一个应该修复的 bug
LotusChuan
    34
LotusChuan  
   2022-08-18 20:20:34 +08:00 via iPhone
我感觉是因素很多,有语言本身的问题,比如 C++有些类就是个包装类,定义完就等着析构,一般 ide 都会报 warning 说变量 defined but unused 。

也有 ide 本身的问题,比如现在 Clion 还是没有修复某些时候模板函数内变量无法识别的 bug ,导致它一直提示变量 defined but unused 。

其他问题比如 ide 本身配置问题,可能和其他 ide 不兼容导致 warning ,也挺常见的。
DonaidTrump
    35
DonaidTrump  
   2022-08-18 20:23:54 +08:00 via iPhone
因为他只是个写代码的,而不是工匠
KingOfUSA
    36
KingOfUSA  
   2022-08-18 20:32:58 +08:00
我会改,并且要求组内的同事改。
mind3x
    37
mind3x  
   2022-08-18 20:39:37 +08:00   1
不是你有强迫症,而是这一行的从业人员 90%以上并不适合干这一行 [摊手]
akring
    38
akring  
   2022-08-18 20:40:31 +08:00
@yukiww233 看着 像是 Swift ? 无用的变量删掉还是可以的,减少读代码的心智负担
zhuweiyou
    39
zhuweiyou  
   2022-08-18 20:41:35 +08:00
众所周知 warning 不是 error, 我都是满屏黄色的, 从来不管
nekoneko
    40
nekoneko  
   2022-08-18 20:56:27 +08:00
@Vegetable #19 比如说引入 sonarlint, 它的检测只会比 IDEA 更严格, IDEA 的 warning 它大概率有, IDEA 没提示的它也有.
issakchill
    41
issakchill  
   2022-08-18 21:02:29 +08:00   1
确实....我们公司也是
一些明显的单词拼错,后端错了,前端也不指出,就一直错
admirez
    42
admirez  
   2022-08-18 21:14:46 +08:00   1
我就是 0Warning 0Error 0Typo
silentsky
    43
silentsky  
   2022-08-18 21:28:42 +08:00 via Android
我有强迫症 看到的话就改掉
Bingchunmoli
    44
Bingchunmoli  
   2022-08-18 21:45:33 +08:00
比如我们公司的 所有 @Autowired 全是 Warning 甚至几十 error 但是如果去掉,反而可能因为循环依赖导致起不起来,haha
FrankHB
    45
FrankHB  
   2022-08-18 21:47:47 +08:00   6
@zjp 实际上 VS 和 JB 之类比较成熟的 IDE 当然都支持配置诊断提示,但这里真正的问题是,不管实现质量问题,开发者有必要认识到,这种 IDE 提供的诊断先天就是低人一等的。
而分配资源优先级解决不同的问题是工程人员的基本素质。

这里,最上等的诊断消息是语言实现给出的错误和警告,无视这些问题原则上(不排除编译器和语言自身 bug 之类的极端情形的例外)会导致得到的程序根本就不是想要的东西,不中断构建基本就是写 bug 浪费时间(编译错误的话编译器自己就终止了)。这种诊断当然是最优先考虑的(要想无视编译错误就别编译了)。
次一等的是 lint 类工具,历史上就是为了缩减编译器实现的难度和编译性能开销而从编译器分离出去的次要的诊断,这是来自语言设计者的判断。现代语言实现的性能宽松得多,如果检查发现的问题足够重要到对语义有普遍影响,把 lint 的分析加回编译器变成警告也是很正常的。如果仍然保留在 lint ,在一定程度上说明这本来就没那么重要,这个区别一直是 by design 。(当然,对一些都未必有编译器的动态语言来说,核心语言实现和 lint 诊断的差距可能相对不那么大。)
而 IDE 自己提供的补充诊断,是重要程度相对最低的。并且,假阴性(漏报)完全没有 spec 参照而无上限,假阳性(误报)的情形也极度宽松。还有很多时候和代码风格约定强相关。追溯这些诊断来源的性价比远远不如上面的,以至于把这些和上面的来源相提并论差不多就是碰瓷。

次要的问题是,因为 IDE 的实现标准比较宽松,所以就算是最有必要给出诊断的提示(甚至就是编译器警告),比单独运行的编译器之类核心工具的分析准确性普遍差很多,特别是 C++这样分析难度离谱的语言。像 VS 用的 EDG frontend 那个红线经常是只能整个关掉的程度,眼不见为净(主要是复杂性离谱,而不一定是实现水平烂,EDG 曾经是唯一实现过 C++03 export 的厂商)。即便没红线 IntelliSense 崩溃至今仍然是家常便饭,我天天遇到。其它 IDE 用 clangd 之类能基本解决比编译器死得离谱的问题,但是想万无一失还差得远了(这年头没遇到过常见编译器 ICE 的都不太好自认为熟练用户了……)。

再者,光是编译器能给出的问题其实已经非常多了。像 VC++的 cl 默认开全警告会因为假阳性(指用户有意的,不算 bug )太多烦死,所以正常警告都不可能调最高(已经排除了就是 note 的部分)。( g++这种诊断没编号的反而策略现实很多,加几个选项会警告的基本全是需要改的问题。)这样的问题,正常开发者(包括写编译器的)都不可能完全摸得清楚,基本是遇到坑了去长记性。本来已经够不太平了,还要照顾 IDE 的一堆莫须有问题是不是工作量不饱和?

其它语言经常没那么极端所以 IDE 体验较好,但没什么 IDE 厂商保证这里不存在差距,踩坑了就是自讨没趣了。

所以实际情况是,不分析很具体的问题,笼统相信 IDE 并多启用功能是很外行和幼稚的想法。作为专业人员,不要试图和有限的资源过不去,这类想法一开始就不要有。
WhateverYouLike
    46
WhateverYouLike  
   2022-08-18 21:59:30 +08:00
IDE 语法检测支持的不太好,误报 warning
proxychains
    47
proxychains  
   2022-08-18 22:23:00 +08:00
warning != error
levelworm
    48
levelworm  
   2022-08-18 22:29:47 +08:00
绝大部分人能把代码跑起来事情做完就不错了。这些警告不搞还好,真搞了弄不好还弄出点红红的出来,咋办?
pengtdyd
    49
pengtdyd  
   2022-08-18 22:39:09 +08:00
我就说一点:你就说能不能跑吧!能跑就别 BB!
Rache1
    50
Rache1  
   2022-08-18 22:41:44 +08:00
你去找个旧一点儿的 PHP 项目或者微擎这些之类的插件,IDE 一打开,满屏 errors ,但是他就是能跑
kenvix
    51
kenvix  
   2022-08-18 22:46:43 +08:00
有强迫症可以直接加 @SuppressWarnings()
FutureIsHere
    52
FutureIsHere  
   2022-08-18 22:50:55 +08:00
@akring Kotlin 写的 Android ,看样子发生在某个 callback 里
dcsuibian
    53
dcsuibian  
   2022-08-18 22:54:26 +08:00
同感,很多人都不在乎这个。

强迫症倒是次要的,最主要是看一下能避免一些低级错误:一些无效的分支,一些明显的 typo 等
Slurp
    54
Slurp  
   2022-08-18 22:57:15 +08:00   4
有的人只知道 C++,不知道其他语言 IDE 的平均水平。说白了就一句话,「说得对就应该改」。不知道扯那么多干啥?

抱着一副「你 IDE 就是垃圾」的嘴脸,却连提示你 http not secure 这种都要喷几句。

你不是天天标准标准,怎么一到 0 warning 0 error 0 typo 这种要求就知道是工作不饱和了?就知道有限资源了?

有的人就是喜欢 -Wall -Werror 然后一条一条把假阳性标称白名单。轮得到你指责吗?

叶公好标准,不过如此……
placeholder
    55
placeholder  
   2022-08-18 22:59:11 +08:00
你写,别人不写,你就是义务扫黄员,

久而久之你也懒得搞了,反正能跑就行,

最怕就是改了黄叹号然后跑不起来了。
securityCoding
    56
securityCoding  
   2022-08-18 23:00:37 +08:00 via Android
mr 的时候强制 lint 检查啊
zjp
    57
zjp  
   2022-08-18 23:27:25 +08:00
@FrankHB
看截图楼主应该是写 Java ,javac 给的警告实在太少了...即使启用所有建议的警告,我有印象的还是只有使用已标记过时 /JDK 内部的方法。所以会更加依赖 IDE 的静态检查,在运行前会过一遍警告。
公司内还引入了 p3c 和 sonarQube ,规则太多,有些纯粹属于风格问题。就只是每周建构看看,挑着改。
panlatent
    58
panlatent  
   2022-08-18 23:27:32 +08:00 via iPhone
我有强迫症 必须全绿
zjp
    59
zjp  
   2022-08-18 23:31:59 +08:00
不管处不处理警告,能达到团队的交付标准就行。
其实让我难以理解的是很多人既然不处理为什么不索性关了...曾经看见全屏黄色的,字我都快认不清
Bijiabo
    60
Bijiabo  
   2022-08-18 23:33:29 +08:00
才 32 个警告...少于 1000 个我都不看的...
yolee599
    61
yolee599  
   2022-08-18 23:40:12 +08:00 via Android
写 Linux kernel drivers 代码试试?只要有一个 warning 就编译失败让你改正
Pangurban
    62
Pangurban  
   2022-08-18 23:50:45 +08:00   1
有可能跟 theme 有关系,有的配色 warning 就不是那么明显… (看到同事屏幕后的感悟)
dyllen
    63
dyllen  
   2022-08-19 01:05:56 +08:00
IDE 差异好大,不同版本都好大差异,在我的 IDE 没任何提示,换到别人的可能就有一堆,也可能我的 ide 看别人的有一堆警告。
wakarimasen
    64
wakarimasen  
   2022-08-19 01:12:17 +08:00 via Android
我司项目 commit 之前要过 eslint prettier commitlint 三次检查,理论上是 0 警告 0 错误,但是我觉得配的 eslint 规则部分并不合理。
dayeye2006199
    65
dayeye2006199  
   2022-08-19 01:23:45 +08:00
不写单测,没有整合测试,就问你这些 warning 按照提示建议修改之后,还能不能 100%跑。

没有配套的测试,根本不敢随便重构
slowgen
    66
slowgen  
   2022-08-19 01:52:45 +08:00   2
观念问题,一堆黄色的告警中往往隐藏着潜在 bug ,机器都能看出来的问题为什么要视而不见,所以我从业以来就是全部清理的,前期比较蛋疼因为 IDE 一升级加了规则又会多好多告警,不过我也会专门清理完。带人也是这么宣导的(前提是工具链统一),基本上呆的每个团队我都会在第一个月持续灌输这个理念,基本上后面就不会出现了。

其实带来的好处很多的,比如新增的代码里 IDE 告警了,你会很敏感,会多思考一下,特别是以前写 PHP 的时,IDE 能发现的告警基本上都是一些潜在 bug 。

换位思考一下,2 个功能差不多的代码库,一个 IDE 能提示出 2000 个告警,另一个库几乎没有告警,你会觉得哪个质量好?
ericls
    67
ericls  
   2022-08-19 02:39:09 +08:00 via iPhone
别人给你个 warning 就可以让你做这做那的 你也太容易被控制了吧

话说回来 应该更新 lint 和 check 规则 让确实需要忽略掉的不显示出来
ecloud     68
ecloud  
   2022-08-19 02:49:47 +08:00 via iPhone
这时才深刻的体会到了 rustc 的强大以及 clippy 的神奇
c0xt30a
    69
c0xt30a  
   2022-08-19 04:58:19 +08:00
并不是所有的人都用 IDE 的,因此有些在 IDE 上出现的警告提示不见得对开发者是可见的。而且甚至连编译器都因为存有错误或者未曾实现的功能而不能正确编译代码,譬如现在被广泛使用的 clang(d)对 C++20 的支持相当差劲,更不要提只是集成或者调用编译器的 IDE 了。
FrankHB
    70
FrankHB  
   2022-08-19 06:32:04 +08:00
@Slurp 有的人就只知道 exact match ,不知道 subtyping polymorphism ,不知道拿 C++举例是为了兼容下限。

C++欠抽在哪用过点都知道,不必多科普,但是从你这发言看,逼迫用户带着脑子避免依赖 IDE 这种品质极不稳定玩意儿,而不是让习惯像你看齐给人拱火添乱,确有进步意义,也是很必要的。

你以为现实的没有能力决定选型方向的用户,有多大本事选择工作时用的 IDE ?又有多大本事钦定几个 error 几个 warning 几个 typo 以上算验收不合格?就不说还有故意引入这种“问题”的了(反而不一定表示质量有问题)。

另一方面,脱离 IDE 就直接干不了活(而不仅仅是效率问题)的用户是不是配来妖言惑众,至少在 v2 还是大大地该打个问号的。就算是实际工程中普遍最依赖的 IDE 的 Java 之流,一开始教语言基础时也没说非得上 IDE (当年就很多上 EditPlus 的,不知现在流行啥)。这这样数典忘祖可不好。

你 IDE 作为软件产品不一定就是垃圾,但是 IDE 对代码的检查比起编译器普遍差不多就该当做垃圾,至少编译器对误报可没法那么放水。想要推翻技术常识?行啊,造个取代编译器的 IDE 来成为业界主流?

0 warning 0 error 0 typo 是轮得到你提的么?我从没听说过你这号人物,但就你这儿的发言看,是对你脑子是否比既有 IDE 的设计靠谱,什么东西配当 warning 是否拎得清楚的能力是要打个问号的。反过来,标准起码能定义什么叫 ill-formed ,成为 error 的直接依据。要还有不服,那你给个备胎?是你技术和脸皮高超,有底气确保把你敢用的 IDE 的设计文档都偷过来公开,然后担保更好用么?不说有限不有限,你有这资源么?

有的人就是喜欢 -Wall -Werror ,那只能活该你遇到有的人给你添堵咯。还有你搞错了个常识,用 -Wno 和 #pragma 加白名单排除诊断多数就是反对具体的诊断的目的,大多并非假阳性(检查过于严格地不准确)。另一方面,你对工作量毫无认知。你倒是看看有多少用户没事把 IDE 检查全开然后还有心情去白名单,而不是直接关掉?或者说你是直球侮辱 IDE 提供实现了的检查的数量很弱鸡么?

你一没搞清楚前因,二不清楚你评论的内容,三没搞清你脑补的观念在实践中的影响,就这一问三不知还好评价别人好什么?这脸皮倒够好为人师了。

@zjp javac 检查弱后果的下限上没 C/C++那么严重,因为很少有别的语言在语义上有那么多不要求错误(有的还不能是错误)但很坑的东西。少部分特性,如 @Deprecated ,Java 还属实更先进(了那么几年)。

Java 真正坑的地方是一贯鼓励写嗦代码(虽然嗦不绝对是坏事,但大部分情况是),以至于 IDE 和纯文本编辑器的体验差距被毫无卵用地拉大了(用 IDE 会少吃亏,不用 IDE 会多吃亏,但横竖都是吃亏)。这种讲究生产力提升靠熟练专用工具来掩盖抽象软弱的思路属实反智。
ada87
    71
ada87  
   2022-08-19 06:41:17 +08:00
1. 关老夫屁事,又不是老夫写的
2. 代码检查只是工具,不懂欣赏,说老夫代码有问题,死也要杠到底
3. 代码已经写成一坨屎,没人看的懂了,能跑起来就算奇迹了,改出 BUG 可没人管
4. 忙的要死,看新闻刷视屏玩游戏聊八挂的时间都没有, 哪来时间处理这种鸡毛蒜皮的事
- xxx
RightHand
    72
RightHand  
   2022-08-19 07:25:01 +08:00 via Android
一般不强求 0warning ,毕竟工作上的代码是用来赚钱的,不是给你炫技的
FrankHB
    73
FrankHB  
   2022-08-19 07:35:41 +08:00
@Slurp 虽然我原认为你不配享受到原文挨个儿 biu 的程度而只是需要对妖言惑众做 viewpoint coverage 来回复,不过看你历史回复,我改变了主意,觉得浪费点铜币把剩下漏网的全部补完,就算当科普笑话给路人看也行。
(也就是你原来扯蛋的密度够高了所以扣除引文不用补充多少,以下不再重复。)

> 不知道其他语言 IDE 的平均水平。

你该知道,大部分语言都没专用 IDE ,通用 IDE 基本就是文本编辑器+构建工具,IDE 多出来的检查约等于无,平均一下也无了。

> 说白了就一句话,「说得对就应该改」。

一句废话。

> 不知道扯那么多干啥?

欠教育和教育的表现对应是连贯的。就像引用你全文一个个揪出槽点比单独挑重点科普解释更顺气,阅读体验也可能更好除了可能更长,不好意思。

> 抱着一副「你 IDE 就是垃圾」的嘴脸,却连提示你 http not secure 这种都要喷几句。

HTTP 这个例子解释一下,开始是昨天某群里看见的对字符串字面量爆出的笑话。
我本来以为一个没决定用途的字符串字面量该用什么是用户的决定,IDE 在此的自作聪明是显而易见的比如说,用户就是想拿 "http://example.com" 去做一个“这是一个 HTTP 样例 UI ,大家得知道 HTTP 虽然不太 secure 但很不巧这玩意儿当链接真的能点得开”的 UI 上的例子。
没想到你甚至理解不了这茬,我的错咯?不过这样你就更没资格计较我为了兼容你的理解能力而拖长回复(又没问你要铜币)了。

> 你不是天天标准标准,么一到 0 warning 0 error 0 typo 这种要求就知道是工作不饱和了?就知道有限资源了?

我日常工作天天都有 spec ,倒未必费有打白工到标准上。
你所谓的这种要求恰好就是代码验收方面 spec 不成熟而集中暴露开发出资源矛盾的典型表现之一。

> 有的人就是喜欢 -Wall -Werror 然后一条一条把假阳性标称白名单。轮得到你指责吗?

我是用户我就有可能轮得到。

> 叶公好标准,不过如此……

还能多挂挂语文水准的问题。
历史上叶公是谁,评论叶公的又是谁,这梗语出何人?你是真好意思代入了嘛?
murmur
    74
murmur  
   2022-08-19 07:39:18 +08:00
@wolfie 这种级别的东西,都不需要 js 解析器,混淆的时候就优化掉了吧
wm5d8b
    75
wm5d8b  
   2022-08-19 08:00:48 +08:00 via Android
直接问他们不就知道了,反正我问过,原因就是英文看不懂
think2011
    76
think2011  
   2022-08-19 08:24:33 +08:00
warning 还能接受,error 我就看不下去了
atempcode
    77
atempcode  
   2022-08-19 08:25:14 +08:00
没事,编译时设 /WX 就行
ragnaroks
    78
ragnaroks  
   2022-08-19 08:27:22 +08:00
我想起 csharp 刚支持拉姆达表达式但分析器没更新的时候

public Int32 GetSize() => this.dataList.Count;

error:没有 return 关键字;方法所有路径必须返回;缺失 {;缺失};.....
ivvei
    79
ivvei  
   2022-08-19 08:38:21 +08:00
有时候那块代码不归自己管啊,总不能写过界吧。我现在的项目,依赖库里一堆警告,改又没法改,只能忍了。
hoopan
    80
hoopan  
   2022-08-19 08:38:41 +08:00
error 是必须改的,warning 很多只是建议,IDE 并没有那么强大,建议的不一定对,可以选择忽略。
imsoso
    81
imsoso  
   2022-08-19 08:45:14 +08:00
遇到不是问题的 warning ,用 ide 自带的工具主动忽略
这样才能区分真正的问题
wupher
    82
wupher  
   2022-08-19 08:45:18 +08:00
IDE 都是盗版
beisilu
    83
beisilu  
   2022-08-19 08:46:08 +08:00
其他语言或者技术栈不知道,我觉得 android studio 在 android 和 flutter 项目的警告还是挺有用的。
我选择按建议修改。
utre938722
    84
utre938722  
   2022-08-19 08:56:16 +08:00
我只关注 error
BigDogWang
    85
BigDogWang  
   2022-08-19 08:59:52 +08:00
我的经历是:很多 warn 是没办法避免的,比如最新的版本该接口被废弃了,但是你程序 run 的平台却还有这个接口
nba2k9
    86
nba2k9  
   2022-08-19 09:03:14 +08:00
我都是把 IDE 的警告关了
CHTuring
    87
CHTuring  
   2022-08-19 09:06:10 +08:00
是 Warning 你就偷着乐吧,TypeScript 一页爆红,TA 甚至都懒得用 any 给你敷衍下。
xsqfjys
    88
xsqfjys  
   2022-08-19 09:08:36 +08:00   1
大家公司的项目代码会写的尽善尽美吗 t/873709

大多数人真的就是能混一天算一天,整天说起技术来什么源码算法计机原理头头是道,然后最基本的代码都不好好写
lyxeno
    89
lyxeno  
   2022-08-19 09:11:43 +08:00   2
别提了,Java 老项目一堆祖传库,泛型都不加,公司又不给升级,只能硬吃 Warning 。
magicyao
    90
magicyao  
   2022-08-19 09:15:18 +08:00   1
1 、改 warning 不额外给钱。
2 、改 warning 不额外给时间。
3 、改 warning 不影响现场效果。
总结起来:我吃饱了撑着没事干非得花自己的时间冒着扣绩效的风险去创造一些老板看不见的潜在利益?
devswork
    91
devswork  
   2022-08-19 09:15:44 +08:00
IDEA ,有些提示未判断 Null 的警告,我会处理下,但是那个 never used 我通常不会处理,因为可能下一个 feature 就用到了,提前写的一些 method ,我还要删除么,或者这个需求又改了,万一下一个版本又改回来呢
ikaros
    92
ikaros  
   2022-08-19 09:16:04 +08:00   1
我自己全权负责的项目都是 0warning 0error, 但是多人参与的项目就不好说了
solxnp
    93
solxnp  
   2022-08-19 09:22:57 +08:00
1 、又不是不能跑
1sen
    94
1sen  
   2022-08-19 09:25:22 +08:00
我是做 Java 开发的,idea 的提示还是挺好的,搭配上 sonarLint 插件,代码确实规范了不少。
solxnp
    95
solxnp  
   2022-08-19 09:26:32 +08:00
2 、那先严以律己吧,OK 自己的处理成了 0warning 然后你总避免不了看同事的代码吧 结果又是一片黄 能怎么办
3 、处理则需要时间 业务需求大的话 很可能你就是拖慢项目进度的点之一
4 、领导:同一个功能 别人开发一天 为撒你三天 久而久之 这人是不是能力有问题? /狗头
mosfet
    96
mosfet  
   2022-08-19 09:28:17 +08:00
像类型相关的 warning 基本不管, 如 unsigned char * to char *
update
    97
update  
   2022-08-19 09:31:01 +08:00
看完了,普遍屎山。
superchijinpeng
    98
superchijinpeng  
   2022-08-19 09:35:34 +08:00   1
你随便拉一个开源项目的代码,Spark ,Hadoop 之类的,随便点开一个类,看看?
jianjian714
    99
jianjian714  
   2022-08-19 09:38:46 +08:00
最近在研究如何关了提示,从根本上解决这个问题
amon
    100
amon  
   2022-08-19 09:41:59 +08:00   1
0warning 的估计都没接触过大型项目开发 /逃
1  2  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3194 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 38ms UTC 00:33 PVG 08:33 LAX 17:33 JFK 20:33
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86