所以给出以下程序:
这个程序的时间复杂度是O(0)吗?换句话说,是0 O(0)?
我想在一个单独的问题,回答这个问题将阐明一些轻这个问题.
编辑:这里有很多好的答案!我们都同意0是O(1).问题是,0 O(0)也是?
在Eclipse中,您可以使用Ctrl+ Shift+ T来搜索类型.不幸的是,Eclipse在我的一个工作区中没有响应这个热键.
我运行IBM AST 6.1,它是基于Eclipse 3.2.1(见http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express. doc/info/exp/ae/tins_ast_roadmap.html).
当我转到Window - > Preferences - > General - > Keys时,它显示Open Type命令设置为Key Sequence Ctrl+ Shift+ T"When""In Windows".它是否正确?
我可以使用Ctrl+ Shift+ R在同一个工作区中搜索资源,使用相同的Ctrl和Shift密钥(即密钥正在工作).我也可以在其他工作区使用Ctrl+ Shift+ T与相同的Eclipse安装.
我该如何启用Ctrl+ Shift+ T?我们需要解决哪些其他信息?
在Web上的其他地方,您可以找到使用类似这样的东西的建议来从命令行模拟VS 2005-2008 IDE中的发布功能(我希望我没有搞砸语法!):
msbuild /t:ResolveReferences;_CopyWebApplication /p:BuildingProject=true;OutDir=C:\inetpub\wwwroot\ blah.csproj
Run Code Online (Sandbox Code Playgroud)
现在,看起来.dll的副本很好.但是,有一些配置文件和模板文件被复制到bin文件夹,这是应用程序工作所需的.例如,NHibernate配置文件在blah.csproj中显示为:
<None Include="blah.cfg.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
Run Code Online (Sandbox Code Playgroud)
虽然在IDE中使用Publish会按原样复制此文件,但前面提到的_CopyWebApplication目标却没有.我需要在构建脚本中复制此文件.这是_CopyWebApplication的理想行为吗?有关如何解决此问题的任何建议?
编辑4/21/2010:
让我澄清一下,我们对VS 2005和VS 2008项目的限制(目前),以及我们的构建脚本是为MSBuild 3.x编写的.我们尚未准备好转向VS 2010.
我还要指出,我们正在寻找可在命令行中使用的解决方案,以便我们可以自动执行类似发布的命令以及自定义构建选项,并可能在未来实现自动化部署.
给定一个包含枚举的类:
public class MyClass {
public enum NestedEnum {
value1(1),
value2(2);
private int code;
private NestedEnum(int code) {
this.code = code;
}
public int getCode() {
return code;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我如何引用NestedEnum?这个:
#{T(MyClass.NestedEnum).value1.getCode()}
Run Code Online (Sandbox Code Playgroud)
结果例外:
org.springframework.expression.spel.SpelEvaluationException: EL1005E:(pos 0): Type cannot be found 'namespace.MyClass.NestedEnum'
Run Code Online (Sandbox Code Playgroud)
这个:
#{T(T(MyClass).NestedEnum).value1.getCode()}
Run Code Online (Sandbox Code Playgroud)
结果例外:
org.springframework.expression.spel.SpelParseException: EL1043E:(pos 3): Unexpected token. Expected 'rparen())' but was 'lparen(()'
Run Code Online (Sandbox Code Playgroud)
我想不出任何其他好的选择.
当试图解决这个问题时,我遇到了一些文章等,指的是"孤立的"ClassLoaders.我无法通过谷歌搜索找到孤立的类加载器的定义,所以也许该术语不是广为人知的术语,并且可能在不同的上下文中具有不同的含义.
无论如何,Maven的surefire插件可以使用一个独立的ClassLoader:http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html
下面的答案之一还引用了一篇文章,解释了如何创建"隔离的"ClassLoader.
上面的参考文献都没有给出一个孤立的ClassLoader的定义; 他们似乎认为读者知道这意味着什么,或者可以查找它.但是,第二个链接确实包含了"隔离"含义的提示:
Bootstrapping允许您运行容器而不会污染系统类路径.这允许您使用未受污染的系统类路径作为其父级来运行已部署的应用程序.你已经实现了classloader隔离.
但是我不太清楚从本段或本文其余部分的内容和内容中分离出来的内容.我看到他正在加载一个没有覆盖/覆盖另一个版本的类的版本 - 也许一个类加载器通过不同的实例与另一个实例隔离,而另一个是另一个的父类?我不确定.
我特别贪图Google或SO搜索链接,其中包含一个明确地回答的链接.答案的直接链接也有效.:)
我还没有找到任何关于如何做到这一点的例子.我假设基于这样的例子是不可能的:
@Bean(MyImplementation.class)
MyInterface myInterface;
Run Code Online (Sandbox Code Playgroud)
注入的类已经确定.
android unit-testing mocking ioc-container android-annotations
当然,在大多数情况下,我可以简单地搜索标识符并查看其所有实例.通常,搜索"="或":"会找到最快的答案.
但是这种技术失败的情况是这样的:
// untested javascript:
function AddMemberToObject(object, value, memberName) {
object[memberName] = value;
}
var myObj = {}
// 3,000 references to myObj
// ... somewhere else
var mysteryString = thisMethodCallsAnotherMethodCallsAnotherMethodEtc();
AddMemberToObject(myObj, someFunction, mysteryString);
// 3,000 more references to myObj
Run Code Online (Sandbox Code Playgroud)
假设我还没有发现上面的代码.如此示例所示,一些使得很难找到定义成员的地方包括:
在这样的困难情况下,有哪些技术可以找到将成员添加到对象的位置?有没有办法在运行时执行此操作(例如,使对象的所有添加都触发一个事件,我们可以在调试器中监听和中断)?
我问,因为我的团队之前曾试图 "做"scrum.我们进行了为期两周的冲刺,但没有与这些冲刺一起发布!还有其他几个原因,但一个重要原因是部署时间太长而且太复杂,不能经常这样做.
在编写单元测试之前编写集成测试是否常见?它是传统的,好主意还是最佳实践?
在我看来这似乎是合乎逻辑的事情,特别是在第一次使用某些第三方API时:您需要知道如何使用第三方软件,然后才能测试自己的代码以进行正确的交互第三方软件 - 即,在测试代码正确使用之前,您必须测试您对如何与第三方API交互(通过集成测试)的理解(通过模拟掉第三方API的单元测试) ,对吗?
我在正确的道路上吗?
编辑
谢谢大家的答案.我刚刚发布了类似/相关的问题.
language-agnostic integration-testing automated-tests unit-testing
有一个微妙的原因可能不太好:有时候,破坏某些东西的责任应该放在那些编写脆弱代码而没有自动化测试的人身上,而不是通过做一个应该是无关的改变来破坏他们的代码的人.别的地方.
一个可以想象的例子是当某人以某种方式对接口进行编程时,该方式假设特定于实现的行为,但不能由现有合同保证.然后其他人对合同中的实现进行了更改,但打破了依赖的代码.没有测试失败,因为没有为依赖代码编写测试.谁真的应该受到责备?
这样做的目的不是责怪人,而是要理解责任,如果"你打破它,你买它"真的是一个很好的政策.
编辑:我真的措辞不好.我的意思是如何编写关于依赖关系的正确软件,包括隐藏的依赖关系.我的意思是这是一个问题,程序员的责任是什么来避免错误,而不是在发现意外错误时该怎么做.但是,由于已经给出了很多答案,我会让问题保持原样并相应地指出答案.