是否有分析XSLT/XSL代码的静态或动态代码分析工具?
到目前为止我能找到的资源是:1.氧气xml编辑器2. http://gandhimukul.tripod.com/xslt/xslquality.html它的功能看起来很快乐
我有一个非常简单的代码(从原始代码中简化 - 所以我知道它不是一个非常聪明的代码),当我使用代码分析在Visual Studio 2010中编译时,我会警告CA1062:验证公共方法的参数.
public class Foo
{
protected static void Bar(out int[] x)
{
x = new int[1];
for (int i = 0; i != 1; ++i)
x[i] = 1;
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的警告:
CA1062:Microsoft.Design:在外部可见方法'Foo.Bar(out int [])'中,验证在使用之前从参数'x'重新分配的局部变量'(*x)'.
我不明白为什么我会收到这个警告,如何在不压制它的情况下解决它?可以new回来null吗?这是Visual Studio 2010的错误吗?
UPDATE
我决定打开关于Microsoft Connect的错误报告.
我有VS 2010 Professional(与Premium不同,它不包括访问IDE中的代码分析配置),以及包含许多项目的C#4解决方案.我想做静态代码分析作为解决方案编译的一部分.
我在SO和Google的帮助下确定的可能方式是:
编辑.csproj解决方案中的每个内容,以包含独立FxCop 10作为Post-build事件的调用.优点:每次编译时都会重建每个重建的项目.缺点:必须采取额外措施以确保新项目具有此指定
由于项目依赖性,创建一个新项目,或识别始终最后构建的现有项目.给(仅)项目一个Post-build事件,该事件在(公共)输出文件夹中的所有程序集上运行FxCop.优点:只有一个文件需要更新,未来项目未被分析的可能性较小.缺点:构建依赖关系的变幻莫测可能意味着这实际上不起作用
使用在任何构建之后运行FxCop的加载项或宏更新所有开发人员的VS实例.根本不喜欢这个想法.
还有其他选择,明显优于上述任何选项吗?我需要注意哪些警告或观察才能完成上述工作之一?
我还希望FxCop作为MSBuild 4.0构建服务器上的动态构建的一部分运行.哪个选项允许我在桌面编译和bulid服务器编译之间重用代码分析规则集?
我已经阅读了相关但不完全相同的已有问题,包括:
我的项目针对的是低成本,低资源的嵌入式设备.我依赖于一个相对庞大且庞大的Python代码库,我对其API的使用非常具体.
我希望通过在Ned Batchelder的覆盖范围或figleaf等覆盖工具中执行我的测试套件,将这个库的代码恢复到最低限度,然后在各种模块/文件中删除未使用代码的脚本.这不仅有助于理解库的内部结构,还可以使编写任何补丁更容易.Ned实际上是指使用覆盖工具在他的一次在线会谈中"反向工程"复杂的代码.
我对SO社区的问题是,人们是否有以这种方式使用覆盖工具的经验,他们不介意分享?有什么陷阱?是覆盖工具是不错的选择?或者我会更好地投入时间与figleaf?
最终游戏是能够基于原始树自动生成库的新源代码树,但仅包括运行nosetests时实际使用的代码.
如果有人开发了一个为他们的Python应用程序和库做类似工作的工具,那么获得一个开始开发的基线是非常好的.
希望我的描述对读者有意义......
我试过遵循这个方法的代码分析规则:
public static string Encrypt(string password)
{
string myPassword = string.Empty;
if (!string.IsNullOrEmpty(password))
{
myPassword = password;
byte[] Value = System.Text.Encoding.UTF8.GetBytes(myPassword);
SymmetricAlgorithm mCSP = new RijndaelManaged();
mCSP.Key = _key;
mCSP.IV = _initVector;
using (ICryptoTransform ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV))
{
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, ct, CryptoStreamMode.Write))
{
cs.Write(Value, 0, Value.Length);
cs.FlushFinalBlock();
cs.Close();
myPassword = Convert.ToBase64String(ms.ToArray());
}
}
}
}
return myPassword;
}
Run Code Online (Sandbox Code Playgroud)
添加了所有的Try {} Finaly{}块,但它仍在向我大喊我不尊重规则2202.任何人都可以帮我一个忙吗?
是的,我已阅读有关此主题的其他帖子并尝试应用它,但最后我仍然收到相同的消息.
我可以使用什么工具.Net/C#项目来捕获类之间的运行时依赖关系?我发现这个问题非常有用,但建议的工具捕获静态依赖图.我只是想看看类的实例化图.
我正在使用VS 2008(但如果需要可以安装其他版本).
UPD:我的目标是这样的.我有很大的旧代码库.它有(例如)500个类但由于DB驱动的工作流程多年来发生了变化(例如)现在使用了100个类.这就是静态依赖性分析太难以消化的原因.
在我在Visual Studio中的项目设置中,我将"将警告视为错误"设置为"全部".警告级别设置为4.我通过故意引入违反CA1305的代码对此进行了测试,但是它成功构建(和重建),返回警告.我所期望的是构建将失败并返回错误.我的理解错了吗?
我在我的应用程序中有几个区域,我从实例方法操作静态变量的值时得到错误.
"从实例方法写入静态字段".
如果我们将多线程排除在等式之外,即使多个实例写入同一个static变量,这种情况是否会造成任何潜在的问题?
我的构建服务器上出现代码分析错误,错误是
... NETFramework,Version = v4.6.AssemblyAttributes.cs(3,1):错误CS8019:不必要的using指令.
这是Visual Studio创建的Temp文件.
在我的项目中,我有" 从生成的代码中抑制结果(仅限管理) ".我原以为这就足够了.
但我仍然得到服务器上的错误,本地我没有.
有任何想法吗?