小编Ben*_*ema的帖子

IntelliJ Idea:如何自动删除注释掉的代码?

我在我的 Android/Java 项目上运行了 SonarQube 分析,结果出现了以下问题:

代码段不应“注释掉”

如果 SonarQube能够识别它们,是否可以在 Android Studio 中自动注释掉代码?我不能只删除所有评论,因为也有一些是合法的。

我有 500 多个,不想手动完成。有任何想法吗?

static-analysis intellij-idea android-studio

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

Maven项目依赖于JDK版本

我有需要使用特定版本的JDK构建的项目.

问题不在源和目标参数中,而是在编译期间使用的运行时的jar中.在某些情况下,如果我尝试使用错误的JDK进行编译,则会出现编译错误,但有时构建成功并且在使用jar时会出现运行时错误.

例如,在eclipse中,我能够在.classpath文件中为项目建立执行环境.

有没有办法在maven中处理这种情况?

我想要的是像POM文件中的项目的其他依赖项一样处理JRE依赖的能力.

更新:

当我提出这个问题时,接受的解决方案是最好的,所以我不会改变它.同时引入了这种问题的新解决方案:Maven Toolchain.请点击链接了解更多详情.

java dependencies maven-2

7
推荐指数
1
解决办法
4865
查看次数

打字稿:在编译时在自己的属性中获取类名

例如,如果我们有一个这样的类:

class MyClass {
  className: string;
}
Run Code Online (Sandbox Code Playgroud)

是否可以在编译时将“MyClass”分配给 className 属性?

编辑:已经尝试过 this.constructor.name。但是,后者对缩小代码没有帮助。因此检查是否有办法在将 typescript 代码编译为 JS 时捕获类名。我正在使用 angular-cli。

uglifyjs typescript angular-cli

7
推荐指数
1
解决办法
9352
查看次数

如何提高电子邮件发送和交付可靠性?

当前的应用程序使用Simple Java Mail每天发送几封电子邮件,但有些电子邮件永远不会发送给客户端.

根据应用程序服务器日志,已经有几个邮件服务器超时但这并不能解释所有丢失的电子邮件的情况.添加重试功能有助于解决超时问题,但是有没有其他方法可以提高电子邮件的可靠性?

java email reliability

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

_.extend/_.assign的目的?

我已经看过很多教程或代码示例,其中开发人员使用_.extendUnderscore 的方法或Lodash的_.assign方法,当简单地添加属性就足够了,它总是让我感到困惑,使用extend/assign而不是简单地添加属性?有很多次我可以看到使用这些方法的好处,例如从另一个对象添加多个属性时,但我经常看到它在下面的示例中使用,我看不到任何好处.

对于以下代码而不是分配属性,是否有我不知道的好处?

http://tech.pro/tutorial/1734/building-decoupled-javascript-applications-with-postaljs

var Weather = function() {
   this.channel = postal.channel( "weather" );
   this.channel.subscribe( "fetch", this.fetch ).withContext( this );
};

_.extend(Weather.prototype, {
 fetch: function( city ) {
     $.ajax({
         url: "http://openweathermap.org/data/2.1/find/name?q=" + city + "&units=imperial",
         dataType: "jsonp",
         success: _.bind(function( data ) {
             this.channel.publish( "fetched", data.list[ 0 ] );
         }, this )
     });
   }
});
Run Code Online (Sandbox Code Playgroud)

例如,上面的代码不能被重写:

Weather.prototype.fetch = function(...){...}
Run Code Online (Sandbox Code Playgroud)

或者这是否有负面影响?

javascript underscore.js lodash

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

Streams peek() 的 CompletableFuture 等价物是什么?

这里的答案引用了所有 CompletableFuture 方法的表格,但这并不完全是我正在寻找的,或者也许我的做法是错误的。

我正在寻找与 Streams 的peek()等效的 CompletableFuture ,所以基本上 athenApply返回输入参数或 athenRun不返回Void。我可以想到两种方法,它们都不能在语义上准确地表达我的意图,但可以完成工作:

(..)
.thenApply((a) -> {
   doSomething();
   return a;
}
(..)
Run Code Online (Sandbox Code Playgroud)

和

(..)
.whenComplete((result, exception) -> {
   if (exception == null) {
      doSomething();
   }
}
(..)
Run Code Online (Sandbox Code Playgroud)

两者都接受前一阶段的输入,允许我执行操作并以相同的类型返回到下一阶段。在这两种方法中,后第二种方法将我的时间限制在其他所有事情完成时,而不是在前一个必要阶段完成后立即异步。

我也一直在寻找一个以消费者函数为参数的身份函数,但似乎我必须自己编写:

public static <T> Function<T, T> identityConsumer(Consumer<T> c) {
    return a -> { c.accept(a); return a; };
}
Run Code Online (Sandbox Code Playgroud)
(..)
.thenApply(identityConsumer(a -> doSomething()));
(..)
Run Code Online (Sandbox Code Playgroud)

由于缺少编写自己的 util 函数,是否有一种优雅的方法可以在中间阶段执行操作,无需返回某些内容,同时保持阶段的当前类型?

java completable-future

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

Javascript库动态创建图形?

这是我的要求:

我需要创建一个人的不同表示之间的链接的可视化.我认为下面的图像表明相当清楚.

在此输入图像描述

此外,这些矩形还包含一些关于人的表示的数据(例如人口统计和地点).我还需要能够在单击框或它们之间的链接时处理事件,作为一种管理工具(例如,双击链接以删除它,或沿着这些行的某些东西).同样重要的是,由于人数和链接的数量会有所不同,我需要通过像图像显示的大致等距的方式将人们隔开来显示它.

什么是javascript库可以实现这一目标?我做了一些研究,但还没有发现可以干净利落的事情,但我不是这些图书馆的专家.

以下是我看过的内容:

Arbor js:可以动态创建图形的间距和链接,但我负责渲染所有的视觉效果,并且没有像单击链接那样的钩子.

jsPlumb:轻松地在元素之间创建连接并很好地绘制它们,但似乎没有解决任何布局问题.因为我不知道屏幕上会有多少人,所以我必须能够将它们等距离分开,这似乎不是jsPlumb的关注点.

D3.js:这创建了一个很好的可视化,我需要的间距,但我不知道如何在每个节点内显示数据或在链接或框上执行类似鼠标事件的操作.

我感觉有点失落,所以我希望有人可以指点一些可以帮助我的东西,或者让我看一下这些图书馆中的一个例子,告诉我我想要的东西是可能的.

javascript graph d3.js arbor.js jsplumb

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

NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE

FindBugs抛出NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE以下方法的return语句。试图对每个值进行空检查,但是我仍然无法修复。

public String toString() {
   String filter = StringUtils.isBlank(this.filter) ? "NONE" : this.filter;

   String res = "";
   if (method != null && method.getName() != null){
      res = method.getName();
   }

   return res;
}
Run Code Online (Sandbox Code Playgroud)

java findbugs gradle

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

使用ThreadPoolExecutor,allowCoreThreadTimeOut和零核心线程有什么区别?

阅读ThreadPoolExecutor的文档,我很困惑以下示例用法之间的区别:

零个核心线程和十个最大线程,其中后者在 2 秒后超时:

ThreadPoolExecutor executor = new ThreadPoolExecutor(
        0, // core threads
        10, // max threads
        2000, TimeUnit.MILLISECONDS,
        new LinkedBlockingQueue<Runnable>(),
        Executors.defaultThreadFactory()
);
Run Code Online (Sandbox Code Playgroud)

10 个核心线程和 10 个最大线程均在 2 秒后超时:

ThreadPoolExecutor executor = new ThreadPoolExecutor(
        10, // core threads
        10, // max threads
        2000, TimeUnit.MILLISECONDS,
        new LinkedBlockingQueue<Runnable>(),
        Executors.defaultThreadFactory()
);

executor.allowCoreThreadTimeOut(true);
Run Code Online (Sandbox Code Playgroud)

这些执行者的行为有什么不同吗?

java multithreading threadpoolexecutor

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

即使没有(公共)Javadoc,如何强制使用 javadoc jar?

我有一个 Maven 多模块项目,其中一些子模块仅供内部使用。我不想为其发布任何可见的 Javadoc,因为它不应该由第三方直接使用。其中没有一个公共包(包名称本身类似于 abcinternal.d)。

但是,要将 jar 发布到 Maven Central,OSS Sonatype 要求所有库 jar 都具有随附的源代码和 javadoc jar。

如何强制使用固定索引创建 javadoc jar 或以便告诉子模块的用途?我想到了 package-info.java,但我没有公共包(所有带有“internal”一词的包都被忽略)。

java javadoc maven

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