什么是统计调试?我还没有找到一个清晰,简洁的解释,但这个词当然听起来令人印象深刻.
它只是一个研究主题,还是在某个地方用于实际开发?换句话说:它会帮助我找到程序中的错误吗?
;)是的 我的解决方案中也有C++.
如何在那里添加自定义词典?包含文件没有工具,也没有办法告诉它类型是CustomDictionary.
http://msdn.microsoft.com/en-us/library/bb514188(v=VS.100).aspx中显示的建议和方法不适用于C++项目.
在计算机科学中,计算机科学家知道如何计算算法的运行时间以优化代码非常重要.对于你的计算机科学家,我提出了一个问题.
我理解,就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运行时间?
我很感激任何意见.非常感谢你提前.
我们在C#组件中定义了CODE_ANALYSIS,以便FxCop在我们的开发盒上构建它们时对它们进行分析.我希望FxCop在运行我们的构建系统时关闭.构建系统显然使用msbuild.exe命令行命令.有没有办法从这个可执行文件修改条件编译符号?如果没有,有没有人知道我的问题的任何其他可能的解决方案(除了手动关闭)?
谢谢.
我们都知道我们应该从事件调度线程完成所有与GUI相关的任务,否则可能会引入奇怪的错误 - 我试着记住这个规则,但我必须承认我最近注意到了几个我没有的地方.
有没有办法识别所有违反此规则的行为,以便修复它们?我已经看到这里有一个相关的findbugs规则,但它似乎并没有抓住我的所有情况.即使在发生违规时抛出异常也很好,所以我可以修复它(或者捕获异常并记录警告以防用户遇到相关问题.)
人们通常采取什么方法?
我构建了分析源代码的工具.这些工具必须正确读取源代码文件,特别是在字符编码方面.例如,"字符串文字中的精确字节串是什么?" (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程序员所期望的不同.
我正在使用构建定义构建项目.执行此操作时,还会执行代码分析.代码分析输出各种文件,包括:
ConsoleApplication2.exe.CodeAnalysisLog.xml
ConsoleApplication2.exe.lastcodeanalysissucceeded
Run Code Online (Sandbox Code Playgroud)
有没有办法在我的构建定义中禁用此输出,例如通过参数或类似的东西?
我正在使用以下命令将 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 ]
我希望代码分析违规在本地显示为警告(这样即使存在CA违规,开发人员仍然可以运行F5),但是作为TFS构建中的错误(更具体地说,我希望构建失败).
我仍然希望在一个地方维护我关心的规则列表,所以我不想为local/TFS创建单独的规则集文件.
关于如何配置这个的任何想法?
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)