我有一个 .NET 类(用于讨论,ClassA),它调用 SQL Server 存储过程(用于讨论,fooSproc),使用 SqlDataReader 处理结果。处理行,并使用返回的结果集中的列名引用列。例如,其中 dr 是 SqlDataReader,类似于 dr["column_foo"]。
现在,例如,有人签入对 ClassA 的更改,以便在 fooSproc 返回的结果集中查找 column_bar。然而,那个人忽略了检查对 fooSproc 的更改,以至于它实际上会返回 column_bar。
问题:代码编译,但由于缺少列而在运行时失败。
有没有办法让这种情况导致生成错误?自然地,构建验证/验收测试在这里是有意义的,但更早捕获它会更便宜。请假装即使是肤浅的代码审查也超出了范围。