您使用哪些工具和技术在.NET中查找死代码?
在过去,我使用Obsolete属性修饰方法(传递true,因此编译器将发出错误,如MSDN中所述).
我有兴趣看到其他人的建议(除了像FxCop或ReSharper这样的工具).我想确保我不会错过其他有用的工具.
从昨天开始,我一直在尝试下载.NET 4的源代码(http://referencesource.microsoft.com/netframework.aspx),但它不起作用.
单击IE中的下载链接,FF会刷新页面但下载不会启动.
点击Chrome中的下载链接确实开始下载,但它名为netframework.aspx,没有任何迹象表明下载量有多大.无论如何,尝试使用DAP下载也没有结果.
我在两台不同的机器上尝试了这个,结果相同.我的所有安装(包括Windows)都保持最新.
任何建议或真实的替代品将不胜感激.
我正在寻找一个可以用来注释源代码的工具.
我有一些我需要了解的第三方源代码(JavaScript),我不想更改它(添加内联注释)以便
通常情况下,我会在上面写一个涂鸦的全部内容,但代码太长了,我需要按电子邮件分享.如果能够做到这一点,我会很高兴,包括能够在代码中的这些位置之间创建"链接",甚至可能在视觉上用线条或箭头.
我需要检查两个整数是否在零的同一侧多次.我不在乎它是积极的还是消极的,只是它是同一面......并且表现非常重要.
目前我这样做:
if (int1 == 0 || int2 == 0) {
// handle zero
} else if ((int1 ^ int2) > 0) {
// different side
} else {
// same side
}
Run Code Online (Sandbox Code Playgroud)
这比速度提高30%(用卡尺测试)更明显:
if ((int1 > 0 && int2 > 0) || (int1 < 0 && int2 < 0)) {
Run Code Online (Sandbox Code Playgroud)
可以更快地完成吗?
如果有人想看到我用于30%的测试框架,它就在这里.我用了卡尺0.5-rc1
注意:所有这些解决方案都检查第一位,基本上,零与正数相同.因此,如果它适用于您的应用程序,则无需进行零检查.
基准清单:
((&&)||(&&))解决方案(>>31) == (>>31)(0x80000000)==不使用^ …ISO 1998 c ++标准规定,在main中没有显式使用return语句等同于使用return 0.但是,如果一个实现具有不同的标准"无错误"代码-1呢?
为什么不使用标准的宏EXIT_SUCCESS将要么被替换0或者-1还是取决于执行任何其他价值?
C++似乎强制程序的语义,这不是一种语言的角色,它应该只描述程序的行为方式.此外,"错误"返回值的情况不同:只有EXIT_FAILURE标准的"错误"终止标志,没有明确的值,例如"1".
这些选择的原因是什么?
有人可以向我解释静态HashMap #hash(int)方法吗?
生成均匀分布的哈希值背后的理由是什么?
/**
* Applies a supplemental hash function to a given hashCode, which
* defends against poor quality hash functions. This is critical
* because HashMap uses power-of-two length hash tables, that
* otherwise encounter collisions for hashCodes that do not differ
* in lower bits. Note: Null keys always map to hash 0, thus index 0.
*/
static int hash(int h) {
// This function ensures that hashCodes that differ only by
// constant multiples at each …Run Code Online (Sandbox Code Playgroud) 是否有可能以某种方式获取原始HTML源代码而不进行已处理Javascript所做的更改?例如,如果我这样做:
<div id="test">
<script type="text/javascript">document.write("hello");</script>
</div>
Run Code Online (Sandbox Code Playgroud)
如果我做:
alert(document.getElementById('test').innerHTML);
Run Code Online (Sandbox Code Playgroud)
表明:
<script type="text/javascript">document.write("hello");</script>hello
Run Code Online (Sandbox Code Playgroud)
简单来说,我希望alert仅显示:
<script type="text/javascript">document.write("hello");</script>
Run Code Online (Sandbox Code Playgroud)
没有final hello(处理过的脚本的结果).
我设法使用cmake和visual studio 10成功编译了用于Windows的窗口.我想获得一个XML文件作为源代码的AST表示.有一个选项可以在linux(ubuntu)下使用gcc提供结果,但是在windows框中不起作用:
clang -cc1 -ast-print-xml source.c
Run Code Online (Sandbox Code Playgroud)
但是,这是调用编译阶段(我想避免).挖掘源代码并没有帮助我,因为我很吵.我可以通过使用以下方法设法生成AST的二进制版本:
clang -emit-ast source.c
Run Code Online (Sandbox Code Playgroud)
不幸的是,这种格式不能直接用于解析.是否有一些现有方法直接生成XML树而不是clang中的二进制树?
目标是在.NET环境中的其他工具中使用XML表示,因此我需要围绕本机clang lib进行一些包装以访问二进制AST.如果有人已经为.NET编写了一些二进制clang AST解析器,可能还有第三种选择吗?
如果clang前端生成的AST与编译阶段生成的AST不相等,我是否可能会遗漏这些内容.
我正在寻找一个完全准确的算法陈述来计算单词中的音节.我研究时发现的不一致或我所知道的结果不正确.有没有人有任何建议如何实现这一目标?谢谢.
我现在使用的算法:
我还缺少更多规则吗?如果我使用的算法错误或我的实现,我正在尝试确定我的错误结果的测试.
如何在Gson中实现TypeAdapterFactory类型?
创建的主要方法是通用的.为什么?
注册方法registerTypeAdapterFactory()不接收类型参数.那么,如何Gson知道工厂处理哪些类?
我应该为多个类实现一个工厂,还是可以为多个类实现一个工厂?
如果我为多个类实现一个工厂,那么在域外类型参数的情况下我应该返回什么?