小编Ant*_*ony的帖子

.git/config 中的环境变量

我有一个使用该--serparate-git-dir选项创建的 git repo 。我经常通过指定--git-dir--work-tree作为参数来使用相同的 repo 形成不同的工作树。

我有两个经常切换的工作树,所以我.git在二级工作树中添加了一个指向存储库目录的文件。然而,由于存储库的config文件指向主工作树,我仍然必须明确指定它,否则它使用主工作树。

我尝试将 的值设置worktree$PWDint.git/config文件,但这会导致以下错误: fatal: Could not chdir to '$PWD': No such file or directory

有没有办法worktree动态化?

git git-config

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

为什么这个DL-Query没有返回任何个人?

此DL-Query不会返回任何个人:

  • 查询(Protégé语法): hasPet exactly 1 DomesticAnimal

这是本体的一部分:

:hasPet a           owl:ObjectProperty;
        rdfs:domain :Human;
        rdfs:range  :DomesticAnimal;
        owl:inverseOf : petOf;


:Joe    a           :Human;
        hasPet      :Lassy.

:Bob    a           :Human;
        hasPet      :Sparkey, Lucky.
Run Code Online (Sandbox Code Playgroud)

查询:

  • petOf value Bob 回归SparkeyLucky
  • petOf value Joe 回报 Lassy
  • hasPet exactly 1 没有回报.

为什么不是最后一个查询返回Joe?我在使用Pellet,HermiT和FaCT ++的Protégé中尝试过它,但它没有用.

rdf owl dlquery protege description-logic

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

在模块之间共享测试类

我希望能够在我的 android 项目的库模块中拥有通用的测试代码,以便项目中的不同应用程序可以使用它们。

问题是,应用程序无法从 导入类<library>/src/androidTest/java,如果我将代码中的类移动到 中src\main,则必须将依赖项从 移动androidTestCompilecompile(更多依赖项到发布版本)。

现在唯一的解决方案是创建一个单独的库来保存共享的测试类,但是这样做的缺点是在项目结构中添加了一个新库,这没什么大不了的,但我还是想知道有更好的解决方案。

如果有任何 Gradle(Android 插件)向导可以帮助我找到一个,我宁愿在这一点上实施 Gradle hack。

android android-testing android-gradle-plugin

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

Gradle 任务语法:如何从 Groovy 的角度解释它?

我很难理解 Gradle 的 Groovy DSL 是如何工作的。

不幸的是,Gradle 是我在日常工作中遇到的 Groovy 的主要用例,而且我注意到对于许多开发人员来说,他们对 Groovy 的接触完全是通过 Gradle 进行的。因此,大多数 Gradle 用户对 Groovy 的掌握非常有限。

在我对 Groovy 的有限理解中,以下tokenA tokenB { tokenC }所有标记都不是语言关键字的语法tokenA将是我们使用参数调用的方法,tokenB最后一个参数是闭包。我想我是对的,但我知道我错了,因为在 tokenB 之后可能需要有一个逗号才能使分析正确。

正如您已经知道的那样,我绝不是 Groovy 开发人员,而且我认为在不学习 Groovy 基础知识的情况下使用 Gradle 是一件坏事,因为它限制了我充分利用其功能。但不幸的是,我唯一可行的选择是通过例子学习而不学习理论。

我没有检查出像一些类似的问题,这一次却没有答案,其中明确或完全够我。

TL; 博士

  1. task myTask { doLast {} }在 Groovy 中如何解释令牌?
  2. Gradle 是否使用标准的 Groovy 解释器?
  3. myTask当它背后有task和没有def或类型时如何解释为标识符?
  4. 如果稍后在文件中我添加了myTask { dependsOn myOtherTask }如何解释?

dsl groovy gradle

4
推荐指数
2
解决办法
640
查看次数

以编程方式区分异常

异常的类型通常足以正确处理它(例如,您尝试打开文件并获取a FileNotFoundException).但是,在某些情况下,您可能会捕获同一类型的多个异常.例如,一个IllegalArgumentException可能由多个参数引起的.这IllegalArgumentException不会向Throwable接口添加任何其他方法(或公共字段)(根据在线javadoc),这意味着您可以依赖的唯一信息是嵌套异常(可能存在也可能不存在)和消息(是供人食用的).

我不喜欢扩展IllegalArgumentException为其添加结构化信息的想法,因为其他人必须学习新课程.而且我不喜欢乱扔乱画项目的想法非常具体的异常类.使用消息字段也是一个坏主意,因为它不适用于编程访问.

我认为IllegalArgumentException应该包括诸如类函数和有争议的参数之类的细节.通常,自定义异常应该提供额外的细节(除了它们的类型之外),以便进行更细粒度的异常处理.

什么通常被认为是设计异常类和处理相同类型的异常的最佳实践?

java exception-handling

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