是否应该强制所有团队成员使用相同的IDE(例如eclipse,netbeans,intellij)进行编程,即使构建过程独立于IDE?(假设项目中没有使用IDE特定的插件等.)
如果每个人都使用相同的IDE,他们可以共享相同的配置并在更一致的环境中工作.但是,如果您已经使用某个IDE多年,那么被迫使用另一个IDE将会令人沮丧并降低工作效率,因为您将尝试学习IDE而不是专注于问题域.
我很想知道你在这两种类型的团队中选择了哪一种,以及你认为哪种团队效果最好.
谢谢
在我们正在开发的Delphi应用程序中,我们有一个相关对象的大结构.这些对象的某些属性具有在运行时计算的值,我正在寻找一种方法来缓存更密集计算的结果.我使用的方法是在第一次计算私有成员时保存值.这是一个简短的例子:
unit Unit1;
interface
type
TMyObject = class
private
FObject1, FObject2: TMyOtherObject;
FMyCalculatedValue: Integer;
function GetMyCalculatedValue: Integer;
public
property MyCalculatedValue: Integer read GetMyCalculatedValue;
end;
implementation
function TMyObject.GetMyCalculatedValue: Integer;
begin
if FMyCalculatedValue = 0 then
begin
FMyCalculatedValue :=
FObject1.OtherCalculatedValue + // This is also calculated
FObject2.OtherValue;
end;
Result := FMyCalculatedValue;
end;
end.
Run Code Online (Sandbox Code Playgroud)
用于计算的对象更改并且应重置和重新计算缓存的值并不罕见.到目前为止,我们通过使用观察者模式解决了这个问题:对象实现OnChange事件,以便其他人可以订阅,在更改和重置缓存值时得到通知.这种方法有效,但有一些缺点:
最后一个问题:你能否提出其他方法来实现缓存的计算值?
我有一个非常奇怪的问题.(非常重要的说明:这是一个例子,因为我无法粘贴原始代码,我将其编写为没有编译器的文本.)我有2个类:
class B {
private int num = 9;
public int getNum(){
return num;
}
public void setNum(int num){
this.num = num;
}
}
class A {
private B b = new B();
public void setB(B b){
b.setNum(b != null? b.getNum() : 8);
}
public B getB(){
if (b == null)
System.out.println("How possible?");
return b;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,有时我会得到印刷品......但我不知道这是怎么回事.
A是一个序列化的类,但我无法弄明白.
为了加速我的NAnt/CruiseControl.Net/Ivy连续构建过程,我希望让NAnt在执行基于NAnt的更新后检查我的代码库是否在我的本地PC上发生了变化,然后如果代码已经改变,然后启动流程重新构建该项目,并可能提出一个标志来构建所有后续组件,而不管它们的更改状态如何.
原因是,我的构建过程目前花费了超过12分钟来完成大量工作,我想我可以通过不构建不会改变的代码以及保持开发人员来减少这段时间在办公室也更开心.
我们已经调查过从构建顺序中删除一些项目,但是如果构建树顺序进一步发生任何更改,它们都是必需的.
我添加了第二个虚拟设备来测试不同的屏幕分辨率(QVGA),但现在我想再次切换回第一个AVD(HVGA).如何在Eclipse中将虚拟设备设置为默认使用,甚至专门用于我的项目?在属性中,我只能设置API级别.
我也无法在命令行工具文档中找到任何手动设置此信息的信息.
我有特定范围内的数字(通常从0到1000左右).算法从该范围中选择一些数字(大约3到10个数字).这种选择经常进行,我需要检查是否已经选择了所选数字的排列.
例如,一步选择[1, 10, 3, 18]另一步,[10, 18, 3, 1]然后第二选择可以被丢弃,因为它是一种置换.
我需要非常快速地进行检查.现在我把所有数组都放在一个hashmap中,并使用一个自定义哈希函数:只需要总结所有元素,所以1 + 10 + 3 + 18 = 32,还有10 + 18 + 3 + 1 = 32.对于equals,我使用bitset来快速检查元素是否在两个集合中(我在使用bitset时不需要排序,但它只在数字范围已知且不太大时才有效).
这样可以正常工作,但是可以产生大量冲突,因此很常调用equals()方法.我想知道是否有更快的方法来检查排列?
排列是否有任何好的哈希函数?
UPDATE
我做了一个基准测试:生成0到6范围内的所有数字组合,以及数组长度1到9.有3003种可能的排列,并且应该在这么多不同的哈希值附近生成一个好的哈希值(我使用32位数字)对于哈希):
所以abc的哈希值可以非常快速地计算出来并且比其他所有哈希值都要好得多.谢谢!
PS:我不想在不需要时对值进行排序,因为这会变得太慢.
我有一个问题,使用JQuery在框中填充值.
它不是将它添加到彼此之下,而是将它添加到所有其他元素旁边
我的代码
$('#pages option').append($('#t1').val());
Run Code Online (Sandbox Code Playgroud) 我有一个开源项目(gdal),我想编译并作为iOS应用程序的一部分运行.我一直期待使用,NSTask但我现在看到它已在iOS 3.0中删除.我也在其他地方看到运行外部应用程序,虽然这将是我的应用程序包中的资源,是不允许的.
有没有其他人找到在其iOS应用程序中运行命令行工具的方法?
我想知道我是否可以在php的变量上使用gt函数?
例如.:echo _($var);
我正在尝试用rails编写的野兽论坛,并将此作为我一直面临的问题的一个例子.
论坛有一个主题/节目动作和视图,底部有一个表单,可以在主题中创建一个新帖子.
提交表单会发布到帖子/创建,如果验证通过重定向回主题/显示并且工作正常,但是如果验证失败(遗漏了正文字段),您将被重定向到相同的主题/显示并返回到表单,没有验证错误...通常如果验证失败,你就会留下什么/使用render创建:action => new.
验证是否在重定向中丢失,以及使其运行的最佳方法是什么?
见下面的代码:
PostsController.rb
def create
@post = current_user.reply @topic, params[:post][:body]
respond_to do |format|
if @post.new_record?
format.html { redirect_to forum_topic_path(@forum, @topic) }
format.xml { render :xml => @post.errors, :status => :unprocessable_entity }
else
flash[:notice] = 'Post was successfully created.'
format.html { redirect_to(forum_topic_post_path(@forum, @topic, @post, :anchor => dom_id(@post))) }
format.xml { render :xml => @post, :status => :created, :location => forum_topic_post_url(@forum, @topic, @post) }
end
end
end
Run Code Online (Sandbox Code Playgroud)
TopicsController.rb
def show
respond_to do |format|
format.html do …Run Code Online (Sandbox Code Playgroud) android ×1
caching ×1
command-line ×1
delphi ×1
delphi-2006 ×1
eclipse ×1
gdal ×1
hash ×1
ide ×1
ios ×1
java ×1
jquery ×1
nant ×1
nstask ×1
oop ×1
open-source ×1
performance ×1
permutation ×1
php ×1
svn ×1
validation ×1
variables ×1