问题列表 - 第14599页

所有团队成员都应该使用相同的IDE吗?

是否应该强制所有团队成员使用相同的IDE(例如eclipse,netbeans,intellij)进行编程,即使构建过程独立于IDE?(假设项目中没有使用IDE特定的插件等.)

如果每个人都使用相同的IDE,他们可以共享相同的配置并在更一致的环境中工作.但是,如果您已经使用某个IDE多年,那么被迫使用另一个IDE将会令人沮丧并降低工作效率,因为您将尝试学习IDE而不是专注于问题域.

我很想知道你在这两种类型的团队中选择了哪一种,以及你认为哪种团队效果最好.

谢谢

ide

8
推荐指数
2
解决办法
1444
查看次数

缓存计算值的方法

在我们正在开发的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事件,以便其他人可以订阅,在更改和重置缓存值时得到通知.这种方法有效,但有一些缺点:

  • 管理订阅需要大量内存.
  • 当缓存值取决于大量对象(例如列表)时,它不能很好地扩展.
  • 依赖性不是非常具体(即使缓存值仅依赖于一个属性,当其他属性发生更改时,它也将被重置).
  • 管理订阅会影响整体性能并且难以维护(对象被删除,移动,......).
  • 目前尚不清楚如何根据其他计算值处理计算.

最后一个问题:你能否提出其他方法来实现缓存的计算值?

delphi oop caching delphi-2006

8
推荐指数
1
解决办法
367
查看次数

不可能的空指针

我有一个非常奇怪的问题.(非常重要的说明:这是一个例子,因为我无法粘贴原始代码,我将其编写为没有编译器的文本.)我有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是一个序列化的类,但我无法弄明白.

java nullpointerexception

-5
推荐指数
1
解决办法
496
查看次数

让NAnt检查SVN中的已更改文件

为了加速我的NAnt/CruiseControl.Net/Ivy连续构建过程,我希望让NAnt在执行基于NAnt的更新后检查我的代码库是否在我的本地PC上发生了变化,然后如果代码已经改变,然后启动流程重新构建该项目,并可能提出一个标志来构建所有后续组件,而不管它们的更改状态如何.

原因是,我的构建过程目前花费了超过12分钟来完成大量工作,我想我可以通过不构建不会改变的代码以及保持开发人员来减少这段时间在办公室也更开心.

我们已经调查过从构建顺序中删除一些项目,但是如果构建树顺序进一步发生任何更改,它们都是必需的.

svn cruisecontrol.net nant build-automation

0
推荐指数
1
解决办法
2063
查看次数

Android Emulator:选择AVD(Android虚拟设备)默认运行

我添加了第二个虚拟设备来测试不同的屏幕分辨率(QVGA),但现在我想再次切换回第一个AVD(HVGA).如何在Eclipse中将虚拟设备设置为默认使用,甚至专门用于我的项目?在属性中,我只能设置API级别.

我也无法在命令行工具文档中找到任何手动设置此信息的信息.

eclipse android android-virtual-device

78
推荐指数
1
解决办法
5万
查看次数

排列的好哈希函数?

我有特定范围内的数字(通常从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位数字)对于哈希):

  • 仅添加41种不同的哈希(因此存在大量冲突)
  • 8个不同的哈希值用于XOR'ing值
  • 用于乘法的286种不同的哈希值
  • (R + 2e)3003个不同的哈希值和abc建议的乘法值(使用1779033703表示R)

所以abc的哈希值可以非常快速地计算出来并且比其他所有哈希值都要好得多.谢谢!

PS:我不想在不需要时对值进行排序,因为这会变得太慢.

hash performance permutation

12
推荐指数
2
解决办法
5663
查看次数

使用JQuery将值添加到下拉列表<select>框中

我有一个问题,使用JQuery在框中填充值.

它不是将它添加到彼此之下,而是将它添加到所有其他元素旁边

我的代码

$('#pages option').append($('#t1').val());
Run Code Online (Sandbox Code Playgroud)

jquery

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

适用于iPhone的NSTask或同等产品

我有一个开源项目(gdal),我想编译并作为iOS应用程序的一部分运行.我一直期待使用,NSTask但我现在看到它已在iOS 3.0中删除.我也在其他地方看到运行外部应用程序,虽然这将是我的应用程序包中的资源,是不允许的.

有没有其他人找到在其iOS应用程序中运行命令行工具的方法?

command-line open-source gdal nstask ios

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

i18n变量

我想知道我是否可以在php的变量上使用gt函数?

例如.:echo _($var);

php variables internationalization

0
推荐指数
1
解决办法
307
查看次数

Rails验证重定向

我正在尝试用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)

validation ruby-on-rails

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