标签: code-analysis

什么是统计调试?

什么是统计调试?我还没有找到一个清晰,简洁的解释,但这个词当然听起来令人印象深刻.

它只是一个研究主题,还是在某个地方用于实际开发?换句话说:它会帮助我找到程序中的错误吗?

debugging statistics code-analysis

4
推荐指数
1
解决办法
2152
查看次数

C++代码分析 - 如何添加自定义词典?

;)是的 我的解决方案中也有C++.

如何在那里添加自定义词典?包含文件没有工具,也没有办法告诉它类型是CustomDictionary.

http://msdn.microsoft.com/en-us/library/bb514188(v=VS.100).aspx中显示的建议和方法不适用于C++项目.

c++ code-analysis visual-studio-2010

4
推荐指数
2
解决办法
2146
查看次数

Big Oh表示法和计算三嵌套For循环的运行时间

在计算机科学中,计算机科学家知道如何计算算法的运行时间以优化代码非常重要.对于你的计算机科学家,我提出了一个问题.

我理解,就n而言,双嵌套for循环通常具有n 2的运行时间,并且三嵌套for循环通常具有n 3的运行时间.

但是,对于代码如下所示的情况,运行时间是否为n4?

x = 0;
for(a = 0; a < n; a++)
    for(b = 0; b < 2a; b++)
        for (c=0; c < b*b; c++)
            x++;
Run Code Online (Sandbox Code Playgroud)

我将每一行的运行时间简化为第一个循环的虚拟(n + 1),第二个循环的(2n + 1),以及第二个循环的(2n)2 + 1.假设这些术语相乘,并且我们提取最高项以找到Big Oh,那么运行时间是n 4,还是它仍然会遵循通常的n 3运行时间?

我很感激任何意见.非常感谢你提前.

big-o computer-science code-analysis analysis runtime

4
推荐指数
1
解决办法
5733
查看次数

你能从msbuild.exe命令行关闭条件编译符号吗?

我们在C#组件中定义了CODE_ANALYSIS,以便FxCop在我们的开发盒上构建它们时对它们进行分析.我希望FxCop在运行我们的构建系统时关闭.构建系统显然使用msbuild.exe命令行命令.有没有办法从这个可执行文件修改条件编译符号?如果没有,有没有人知道我的问题的任何其他可能的解决方案(除了手动关闭)?

谢谢.

msbuild code-analysis fxcop

4
推荐指数
1
解决办法
3579
查看次数

查找事件派发线程违规

我们都知道我们应该从事件调度线程完成所有与GUI相关的任务,否则可能会引入奇怪的错误 - 我试着记住这个规则,但我必须承认我最近注意到了几个我没有的地方.

有没有办法识别所有违反此规则的行为,以便修复它们?我已经看到这里有一个相关的findbugs规则,但它似乎并没有抓住我的所有情况.即使在发生违规时抛出异常也很好,所以我可以修复它(或者捕获异常并记录警告以防用户遇到相关问题.)

人们通常采取什么方法?

java swing code-analysis event-dispatch-thread

4
推荐指数
1
解决办法
1241
查看次数

UTF-8文件中的PHP源代码; 如何正确解读?

我构建了分析源代码的工具.这些工具必须正确读取源代码文件,特别是在字符编码方面.例如,"字符串文字中的精确字节串是什么?" (PHP文字和HTML文本).

我可能错误的理解是PHP源文件只是8位字符(也就是说,PHP引擎以这种方式读取它们,因为它们只应该包含8位字符).但是,八位字符在哪个编码?(我认为打算匹配ISO-8859-1(-x?)[有人可以引用章节和经文吗?].也就是说,变音符号是一个变音符号,对吗?接下来,可以用HTML编写PHP脚本和大多数欧洲国家的字符串/字符集直接.

但很明显,Unicode存在问题.据我所知,大多数PHP应用程序主要通过包含UTF-8字节序列的字符串来处理Unicode,这些字符串可以插入8位PHP字符串中.在此之后,如果您告诉服务器您正在生成UTF-8文本,则可以生成其HTML包含Unicode UTF-8序列的脚本.

对于上述情况,可以将PHP文件读取为8位字符文本,这似乎与我的语言相匹配.

令我困惑的是编码为UTF-8的PHP源文件(Joomla软件包有大约1800个源文件,其中大约10个是UTF-8,其余的不是).在UTF-8渲染中正确显示的任何(非ASCII)欧洲字符实际上都被编码为多字节序列.我认为这些用作UTF-8的页面将正确呈现HTML.但是,在文本编辑器中显然正确呈现的欧洲字符或其他Unicode字符的任何字符串比较都是行不通的.字符串文字不包含它们似乎包含的内容.程序员是否使用UTF-8文件,因为这是编辑提供的?他们是故意这样做的吗?或者只是一场对大多数工作无关紧要的事故?

那么,如何读取PHP源文件呢?(特别是,在什么字符编码?)一个可能的答案是,始终作为ISO-8859-1 8位代码,无论实际内容或BOM(我看到很多UTF-8 BOM标记的PHP文件).另一个答案是UTF-8,如果这样标记的话.

[我们的工具读写任意编码."普通"工具是读取文件一个字符的编码,在另一个编码中写入相同的代码点.以这种方式读取UTF-8 PHP文件会让我们在编写ISO8859-1等效文件时遇到麻烦,因为许多UTF-8代码点(例如,欧元符号)无法在ISO8859-x中编码.

编辑8月30日:我们现在检查PHP文件以查看是否具有UTF-8 BOM,或者看起来是否具有合法的UTF-8序列.在这两种情况中,我们将文件读为UTF-8; 否则我们默认将其读作ISO8859-1.我们现在保留文件编码,如果我们修改它.(正确的做法是相当多的工作).这似乎是一种安全策略,但这可能与PHP程序员所期望的不同.

php code-analysis utf-8 iso-8859-1

4
推荐指数
2
解决办法
4154
查看次数

禁用代码分析输出MSBuild

我正在使用构建定义构建项目.执行此操作时,还会执行代码分析.代码分析输出各种文件,包括:

ConsoleApplication2.exe.CodeAnalysisLog.xml
ConsoleApplication2.exe.lastcodeanalysissucceeded
Run Code Online (Sandbox Code Playgroud)

有没有办法在我的构建定义中禁用此输出,例如通过参数或类似的东西?

msbuild code-analysis fxcop

4
推荐指数
2
解决办法
1972
查看次数

xcodebuild 生成空的 compile_commands.json

我正在使用以下命令将 oclint 与 xcode 5-

Step1:xcodebuild -target OClintDemo -configuration Debug -scheme OClintDemo -sdk iphonesimulator
Step2:OClintDemo jenkins$ xcodebuild -sdk iphonesimulator | tee xcodebuild.log
Step3: oclint-xcodebuild xcodebuild.log
Step4: oclint-json-compilation-database -- -o=report.html

但我得到 compile_commands.json 空文件,并且 report.html 包含以下 - OCLint 报告摘要:TotalFiles=0 FilesWithViolations=0 P1=0 P2=0 P3=0 [OCLint ( http://oclint.org ) v0.7 ]

iphone code-analysis xcode5 xctool oclint

4
推荐指数
4
解决办法
4403
查看次数

代码分析本地警告但TFS构建错误

我希望代码分析违规在本地显示为警告(这样即使存在CA违规,开发人员仍然可以运行F5),但是作为TFS构建中的错误(更具体地说,我希望构建失败).

我仍然希望在一个地方维护我关心的规则列表,所以我不想为local/TFS创建单独的规则集文件.

关于如何配置这个的任何想法?

tfs code-analysis visual-studio-2010 tfsbuild tfs2013

4
推荐指数
1
解决办法
523
查看次数

记录或重新抛出此异常

Sonar可能重复抱怨记录和重新抛出异常.

这是我在课堂上的代码:

try
    {
        this.processDeepLinkData(data);
    }
    catch (final Exception e)
    {
        // Error while parsing data
        // Nothing we can do
        Logger.error(TAG, "Exception thrown on processDeepLinkData. Msg: " + e.getMessage());
    }
Run Code Online (Sandbox Code Playgroud)

和我的Logger类:

    import android.content.Context;
    import android.util.Log;
    import com.crashlytics.android.Crashlytics;

    public final class Logger
    {
        /**
         * Convenience method.
         *
         * @see Logger#log(String, String)
         */
        public static void error(final String tag, final String msg)
        {
            if (Logger.DEBUG)
            {
                Log.e(tag, "" + msg);
            }
            else
            {
                Logger.log(tag, "" + msg); …
Run Code Online (Sandbox Code Playgroud)

java android code-analysis sonar-runner sonarqube

4
推荐指数
1
解决办法
2万
查看次数