我参与过很多项目,别人给了我代码让我更新.我经常编译它,得到大约1000多个编译器警告.当我看到编译器警告时,它们会让我感觉脏兮兮的,所以我的第一个任务是清理代码并将其全部删除.通常我会发现十几个问题,比如未初始化的变量.

我不明白为什么人们把它们放在里面,没有完全干净、没有警告的编译.我错过什么了吗?有什么正当的理由离开他们吗?有什么恐怖故事可以分享吗?

推荐答案

我会清理任何警告. 即使是那些您知道是无害的(如果存在这样的东西),也会给将要编译代码的人留下不好的印象.

这是一个"难闻"的迹象,如果我必须在别人的代码上工作,我会寻找.

如果不是真正的错误或潜在的future 问题,这将是草率的迹象.

C++相关问答推荐

CC crate 示例不会与C函数链接

有效地计算由一组点构成的等边三角形和等腰三角形的数量

如何判断宏参数是否为C语言中的整型文字

正在try 将文件/文件夹名从目录 struct 存储到链接列表

无法用C++编译我的单元测试

为什么GDB/MI进程的FIFO循环中有read()阻塞

在 struct 中强制转换空指针

如何捕捉只有换行符或空格字符缓冲区的边缘大小写

Flose()在Docker容器中抛出段错误

如何在C++中处理按键

如何在C中使数组变量的值为常量?

为什么未初始化的 struct 的数组从另一个数组获取值?

当内存来自Malloc时,将char*转换为另一个指针类型是否违反了严格的别名规则?

C:Assignment中的链表赋值从指针目标类型中丢弃‘const’限定符

为什么会出现此错误?二进制表达式的操作数无效

为什么我在我的代码中得到错误和退出代码-1073741819(0xC0000005),但如果我添加了一个不相关的打印语句,它仍然有效?

Matlab/Octave对conv2函数使用哪种方法?

Leet代码运行时错误:代码不会在Leet代码上编译,而是在其他编译器中编译,如netbeans和在线编译器

为什么argc和argv即使在主函数之外也能工作?

无法将字符串文字分配给 C 中的字符数组