我刚刚完成了一个有大量警告的小型Android应用程序('可能的NPE','在SimpleDateFormat'中使用Locale等)。显然,这些警告看起来并不是很好。我知道有些人会选择抑制警告,在某些情况下这是正确的方法,但是抑制所有警告是否有用,或者我应该继续尝试尽可能多地纠正警告,例如添加if在每个可能的NPE之前的-not-null条件,即使我相当肯定该语句永远不会抛出NPE,这意味着我只是添加另一个函数调用,与其他if-not-null条件聚合可能会慢在某种程度上放下我的应用程序?
答案 0 :(得分:3)
你应该修复它们。或者至少在你决定压制它们之前理解它们。
在大多数情况下,编译器警告会告诉您重要的事情。忽略它们,你最终会有不良行为;例如应用程序崩溃,或者在显示日期时使用错误的格式来惹恼用户。
在某些情况下可以安全地忽略/抑制某些警告 ,但在确定抑制是否安全之前,您需要了解它们。
答案 1 :(得分:0)
抑制或忽略棉绒警告并不总是好的,例如对于NPE,如果棉绒显示警告,则应检查NPE。您可以忽略为Gravity.LEFT
之类的视图设置重力的警告,因为lint告诉您将其更改为Gravity.START
,如果您不想支持RTL,则可以忽略它或禁止它。是否忽略棉绒警告由您自行决定。如果你想忽略所有lint警告只是忽略它,因为你说在源文件中太多lint警告并不漂亮。当你看到棉绒警告时,让你的逻辑决定做什么。祝你好运,编码愉快: - )
答案 2 :(得分:0)
简单:一位优秀的工匠将他的工作设置得井井有条。
一旦你允许一些警告,他们就会开始堆积。事情是:警告中指出的偶然真实问题会在那堆混乱中被忽略。
您可以使用零容忍政策。 0个错误,0个警告,0个注释掉的行,......
您努力修复问题,而不是压制它们。有时你必须沉默警告,但这始终是你的最后选择。