小编Sle*_*led的帖子

使用goto的最佳实践

goto在这段代码中使用是否正确?还有其他选择吗?

return ExecuteReader(cmd, reader =>
{
    List<BEPartnership> partnerhip = null;

    //Partnership
    if (!((SqlDataReader) reader).HasRows)
        goto exit;

    partnerhip = 
        new List<BEPartnership>{new BEPartnership().GetFromReader(reader)};

    //Customers
    if (!reader.NextResult() && !((SqlDataReader) reader).HasRows)
        goto exit;

    foreach (BEPartnership p in partnerhip)
        p.Partner = new BECustomer().GetFromReader(reader);

    //Contracts
    if (!reader.NextResult() && !((SqlDataReader) reader).HasRows)
        goto exit;

    List<BEContractB2B> contracts = new List<BEContractB2B>();
    contracts.Add(new BEContractB2B().GetFromReader(reader));
    // contracts = new BEContractB2B().GetFromReader2(reader).ToList();

    exit:
    return partnerhip;
});
Run Code Online (Sandbox Code Playgroud)

.net c# goto

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

创建实体规则

我想知道这个简单问题的答案.

当我创建一个实体对象并且我想限制一个属性的设置时(例如我不想让任何人设置一个小于1的整数值到属性),我应该在这个属性的setter中实现它或者我应该在处理这些对象的类中检查后者的这个限制?一般来说,只要我的getter返回并且setter设置属性,我可以实现getter和setter吗?

我知道java中有一些规则(代码约定),所以我不想破坏它们中的任何一个.

在此先感谢,希望我的问题足够明确,并对我可能犯的任何语法错误表示抱歉:/.

java hibernate jpa

6
推荐指数
1
解决办法
195
查看次数

如何进行单元测试以实现向后兼容?

我正在开发一个使用Java序列化的插件API.这个想法类似于SmallTalk的系统图像.我想知道如何最好地自动化测试,我所做的更改是否会破坏反序列化,因为某些更改似乎是无害的,例如向实现的接口添加方法(只要没有调用,否则它将导致a AbstractMethodException).

是的,这更像是实验性的峰值而不是生产代码,所以请不要建议不要使用序列化.

java compatibility serialization unit-testing

6
推荐指数
1
解决办法
1059
查看次数

Java的正则表达式不能将其他语言中的字符识别为单词字符(即\ w)

让我们说一句话:"Aiavärav".表达式\w+应该捕获这个词,但是字母"ä"将这个词减半.而不是"Aiavärav",我得到了"Aia".包含那些非ascii字母的单词的正确正则表达式是什么?

java regex parsing

6
推荐指数
1
解决办法
1698
查看次数

在Java中神奇地调用方法

有没有像在PHP中那样在Java中使用魔术方法的方法__call

例如:

 class foo {
     @Setter @Getter
     int id;

     @Getter
     Map <String, ClassInFoo> myMap;

     protected class ClassInFoo {
          @Setter @Getter
          String name;
     }

     @Setter
     String defaultKey;
 }
Run Code Online (Sandbox Code Playgroud)

我正在使用Project Lombok注释来获取getter和setter方法来简化代码.

让我们考虑我的地图包含由String映射的几个项目,defaultKey定义默认项目.

我想要的是能够调用foo.getName()哪个会返回默认名称foo.myMap.get(defaultKey).getName().

我不能手动编写所有getter的原因是Foo类实际上是继承了泛型,而内部类可能是不同的.

我有点需要:

   function Object __call(method) {
           if (exist_method(this.method)
                return this.method();
           else 
                return this.myMap.get(defaultKey).method();
   }
Run Code Online (Sandbox Code Playgroud)

这在Java中是否可行?

编辑:

我做了一个更精确的例子,说明我想在这里实现的目标:https://gist.github.com/1864457

这样做的唯一原因是"简写"内部类中的方法.

java dynamic-dispatch lombok

6
推荐指数
1
解决办法
4643
查看次数

Maven 2.1依赖:分析.传递依赖:使用未声明的依赖关系

我正在使用它dependency:analyze来检测依赖性问题.但我发现传递依赖项存在问题,因为插件无法解析此依赖项.

当我执行mvn dependency:tree时,输出显示传递依赖项.

依赖

project A
  dependency B
project C
  dependency A
Run Code Online (Sandbox Code Playgroud)

Outuput - >(项目C - 路径)/ mvn clean install

[WARNING] Used undeclared dependencies found:
   dependency B: compile
Run Code Online (Sandbox Code Playgroud)

插入

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.4</version>
    <executions>
        <execution>
            <id>analyze</id>
            <phase>verify</phase>
            <goals>
                <goal>analyze-only</goal>
            </goals>
            <configuration>
                <failOnWarning>true</failOnWarning>
            </configuration>
       </execution>
   </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

为什么插件不会检测传递依赖性

java maven-2 maven maven-dependency-plugin

6
推荐指数
1
解决办法
4165
查看次数

NSScrollView覆盖滚动速度 - OSX

我有一个项目正在使用WebView,在小牛队,Safari 7有非常流畅和快速的滚动,我想为我创建复制webView.

以下键允许动量:

NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"YES" forKey:@"AppleMomentumScrollSupported"];
Run Code Online (Sandbox Code Playgroud)

不过,我想的势头进行较长或滚动才能真正快,反正是有,我可以覆盖速度上NSScrollViewWebView?如果可能的话,以最简单的方式?

在iOS中,您可以使用以下控制级别:

webView.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal;
Run Code Online (Sandbox Code Playgroud)

但我找不到任何类似的OSX方法.

cocoa smooth scrollview webview nsscrollview

6
推荐指数
0
解决办法
677
查看次数

如何计算Python函数的算法复杂度?

当需要显示算法的效率时,我们需要显示函数的算法复杂性 - 大O等.在Python代码中,我们如何显示或计算函数的边界?

python complexity-theory big-o

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

Spring Security 3.2基于代码的配置.表单登录+全局方法安全性

我正在我的项目中将Spring安全性从3.1升级到3.2.由于3.2支持基于代码的配置,因此我决定将旧的基于XML的配置转换为Java代码.

我收到异常说"authenticationManager"每次尝试启动应用程序时都没有找到带名字的bean .@EnableGlobalMethodSecurity注释添加到配置类后,此异常开始出现.

Spring框架版本:4.0.0.RELEASE

Spring安全版:3.2.0.RELEASE

旧的Xml配置看起来像这样:

<beans:beans xmlns="http://www.springframework.org/schema/security"
             xmlns:beans="http://www.springframework.org/schema/beans"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="
                                 http://www.springframework.org/schema/beans
                                 http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
                                 http://www.springframework.org/schema/security
                                 http://www.springframework.org/schema/security/spring-security-3.1.xsd">

  <global-method-security secured-annotations="enabled"
                        jsr250-annotations="enabled"
                        pre-post-annotations="enabled"
                        proxy-target-class="true"/>

  <http auto-config="true" use-expressions="true" >
    <form-login login-page="/login" 
                default-target-url="/home" 
                authentication-failure-url = "/login?login_error=1" />

    <logout logout-url="/logout" logout-success-url="/index" />
  </http>

  <authentication-manager>
    <authentication-provider user-service-ref="authUserDetailService">
      <password-encoder hash="plaintext"/>
    </authentication-provider>
  </authentication-manager>
</beans:beans>
Run Code Online (Sandbox Code Playgroud)

新的Java配置类看起来像这样:

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
                .inMemoryAuthentication()
                .withUser("user").password("password").roles("USER").and()
                .withUser("admin").password("password").roles("USER", "ADMIN");
    }

    @Bean
    public UserDetailsService userDetailsServiceBean() …
Run Code Online (Sandbox Code Playgroud)

spring-security spring-java-config

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

有没有使用Prolog的商业视频游戏?

有没有使用Prolog的商业视频游戏?基于规则的逻辑模型似乎在行业中占有一席之地.

PS:奇怪的是,这个问题仍然符合SO问题的所有标准.

prolog game-engine

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