问题列表 - 第22991页

Java - 何时使用'this'关键字

this在Java中使用关键字的最佳做法是什么?例如,我有以下类:

class Foo {
    Bar bar;

    public Foo(Bar bar) {
         this.bar = bar;
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好,但是如果我将构造函数中的语句更改为,Java就足够聪明地知道发生了什么

 bar = bar;
Run Code Online (Sandbox Code Playgroud)

那么为什么要使用this关键字?(我知道在某些情况下,使用它是完全必要的,我只是要求这样的情况).实际上,我倾向于纯粹为了可读性而使用关键字,但通常的做法是什么?例如,在整个商店中使用它会使我的代码看起来有些混乱

boolean baz;
int someIndex = 5;
this.baz = this.bar.getSomeNumber() == this.someBarArray[this.someIndex].getSomeNumber();
Run Code Online (Sandbox Code Playgroud)

显然是一个糟糕的代码,但它说明了我的例子.在这些情况下,这仅仅取决于个人偏好吗?

java coding-style this

68
推荐指数
6
解决办法
7万
查看次数

JSF2 - 由EJB或ManagedBean支持?

当我学习JSF2时,我意识到我不确定支持组件应该是什么.从设计的角度来看,EJB和@ManagedBeans?之间有什么区别?

最后我将使用JPA,因此EJB是业务层的自然选择.它是直接从JSF使用EJB一个很好的做法(如解释在这里)?

目前,我倾向于使用@ManagedBeans不需要访问业务层的组件(例如视图助手)或处理请求/会话数据.出于其他目的,例如在网格中列出某些内容,我将直接访问EJB.

这是一个很好的设计吗?@ManagedBeans为了清除层分离,我是否可以使用所有支持bean,即使在某些情况下它们只委托给EJB?

java ejb jsf-2

18
推荐指数
2
解决办法
6625
查看次数

如果我在我的Web应用程序中使用LGPL库,是否必须提供服务器端源代码?

My Rails应用程序使用此处的Rails SVN绑定,这些绑定是根据LGPL的条款分发的.

通过使用这些绑定,我是否需要分发我的Rails项目?

licensing open-source gpl lgpl

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

如何动态访问Django Model字段详细名称?

我想访问一个我的模型字段verbose_name.

我可以通过像这样的现场指示得到它

model._meta._fields()[2].verbose_name
Run Code Online (Sandbox Code Playgroud)

但我需要动态地得到它.理想情况下,它会是这样的

model._meta._fields()['location_x'].verbose_name
Run Code Online (Sandbox Code Playgroud)

我看了几件事,但我找不到它.

django field get

31
推荐指数
6
解决办法
2万
查看次数

Trac的问题(与BitNami一起安装)

使用BitNami在我的Windows 7 Ultimate 64bits上安装Trac后,我遇到了一些问题.问题是:

  1. Subversion控件在安装过程中,当BitNami设置要求提供项目存储库目录时,它只接受您编写不存在的路径,否则无法继续.所以我被迫将路径指向"C:\ Repositories\TRAC"(一个新文件夹)而不是"C:\ Repositories\DBG"(我正在创建的项目的存储库).因此,在安装之后,我已经在密钥处更改了trac.ini文件

    [trac]
    repository_dir = C:\Repositories\TRAC
    repository_type = svn
    
    Run Code Online (Sandbox Code Playgroud)

    [trac]
    repository_dir = C:\Repositories\DBG
    repository_type = svn
Run Code Online (Sandbox Code Playgroud)

现在,当我在Trac中登录DBG项目时,它警告:

警告:无法与存储库同步('repository_dir'已更改,需要'trac-admin resync'操作.).查看Trac日志以获取更多信息.

当我去cmd时会发生以下情况:

C:\Users\Fernando>cd\

C:\>cd C:\Program Files\BitNami Trac Stack\trac\Scripts

C:\Program Files\BitNami Trac Stack\trac\Scripts>trac-admin resync
Welcome to trac-admin 0.11.6
Interactive Trac administration console.
Copyright (c) 2003-2009 Edgewall Software

Type:  '?' or 'help' for help on commands.

Trac [C:\Program Files\BitNami Trac Stack\trac\Scripts\resync]> resync
Failed to open environment. [Errno 2] No such file or directory: 'C:\\Program Fi
les\\BitNami Trac Stack\\trac\\Scripts\\resync\\VERSION' …
Run Code Online (Sandbox Code Playgroud)

configuration bug-tracking trac bitnami

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

所有动态语言都是Typo友好的吗?

一方面是Java,另一方面是Ruby/Groovy,我知道在第二个阵营中,我可以自由地制作拼写错误,直到运行时才会被抓住.所有动态类型的语言都是如此吗?

编辑:我被要求详细说明拼写错误的类型.在Ruby和Groovy中,您可以使用从未读取的意外名称分配给变量.你可以调用那些不存在的方法(显然你的测试应该记住它,已经说过了).您可以引用不存在的类等.基本上任何有效的语法,即使有印刷错误,在Ruby和Groovy中都是有效的.

dynamic-languages

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

Linq方法体最佳实践问题

这两个陈述中的哪一个是更快/更好的做法?

myList.Where(x =>
            {
                bool itemOne= x.ItemOne == paramItemOne;
                bool itemTwo = x.ItemTwo == paramItemTwo;
                return itemOne && itemTwo;
            })


myList.Where(x => x.ItemOne == paramItemOne).Where(x=>x.ItemTwo == paramItemTwo)
Run Code Online (Sandbox Code Playgroud)

还是他们一样?

c# linq

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

如何在Python中以不同方式处理列表中的最后一个元素?

我需要对列表中的最后一个元素进行一些特殊操作.还有比这更好的方法吗?

array = [1,2,3,4,5] 
for i, val in enumerate(array): 
  if (i+1) == len(array): 
    // Process for the last element 
  else: 
    // Process for the other element 

python

49
推荐指数
3
解决办法
6万
查看次数

如何锁定java方法以保护多个调用

我有一个应用程序,每15分钟左右从远程数据库复制一次.它只是使两个存储库保持同步.一旦进行此复制,就不可能再次执行此操作.我已经设置了以下结构,但我不确定它是否是正确的方法.

public class ReplicatorRunner {

       private static Lock lock = new ReentrantLock();

       public replicate() {

           if (lock.tryLock()) {
               try {
                   // long running process
               } catch (Exception e) {                   
               } finally {
                   lock.unlock();
               }               
           } else {
               throw new IllegalStateException("already replicating");
           }

       }

}

public class ReplicatorRunnerInvocator {

    public void someMethod() {

        try {
            ReplicatorRunner replicator = new ReplicatorRunner();
            replicator.replicate();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

ReplicatorRunner是类拥有该方法replicate只能运行一次一个.

编辑.如果方法已在任何实例上运行,我需要下一次调用失败(不阻止).

java concurrency

9
推荐指数
1
解决办法
5068
查看次数

Web Forms MVP项目有哪些好的资源?

我在开源ASP.NET Web Forms MVP项目上看到了一些声音,但我在哪里可以获得资源?

http://webformsmvp.com目前几乎已被删除.这似乎是Web Forms范例的一个引人注目的更新,并带来了使ASP.NET MVC变得更好的东西.我听说它本周将在MIX10上推出,但是有没有人有任何有用的网站/参考?

asp.net mvp open-source webforms

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