在C#中,我注意到使用字符串。带有数字索引的格式可能很危险。我经常用它来记录日志。不正确的映射将导致异常:
索引(从零开始)必须大于或等于零并且小于参数列表的大小。
示例:
Console.Log(string.Format("test string: var1: {0}, var2:{1}, var3:{2}", var1, var2); // using two arguments but three mappings in log string.
我觉得像这样可能会遇到异常的东西应该是编译器错误而不是警告。我知道.Net框架无法做到这一点,因为它接收params[]中的参数。
老实说,但我确实忽略了解决方案中的编译器警告。不是因为我觉得它们不重要,而是因为存储库中其他人提交的代码生成了太多警告。
问题:1.在Visual Studio中是否有一种好的方法来获取某些警告的编译错误。2.对于这样的事情,我有没有更好的编码实践可以避免这样的错误。
问题1的答案是
您必须启用"将警告视为错误"
- 右键单击您的项目,选择"属性"
- 单击"构建"
- 将"将警告视为错误"从"全部"切换为"特定警告"或"无"
来源:这个SO问题,来自谷歌搜索,我自己测试了
问题2的答案:我认为这是高度主观的,所以它更多的是基于意见。也许你不需要手动将它们键入var1、var2、var3,而是可以将它们作为一个组,使用for循环等
还有单元测试。这是最重要的事情之一,即使每个人都讨厌它们。看看这本书:代码完整的史蒂夫·麦康奈尔作为推荐资源。它也被用于许多大学的程序设计与开发课程中。