[英]Is converting a Kotlin file to java, adding java code to it and converting back to Kotlin same as adding code directly to the Kotlin file?
我想在Github上为Kotlin安卓项目做贡献,但我不知道Kotlin。 假设我在Android Studio中使用“Decompile”将Kotlin代码转换为Java,将我自己的java代码添加到转换后的文件中,然后将编辑后的文件转换回Kotlin。 如果我直接添加代码而不转换为java,那么得到的Kotlin代码是否会相同? 如果我想在不知道Kotlin的情况下为Kotlin项目做出贡献,这是一个可行的策略吗?
Kotlin反编译器不是用于将Kotlin代码转换回Java并实际使用该代码。 这是为了让你知道你的Kotlin代码编译成什么字节码,只有熟悉的Java语法,因为大多数人不能直接读取字节码。 反编译的Java代码通常甚至不可执行而无需额外的工作来修复它。
在Java中科特林编译器是为了给你从现有的Java代码工作科特林代码,但是,即使不能产生很好的,惯用的科特林。
将这两个不完美的转换组合在一起(如果它以某种方式工作)将无法通过您的新修改将您带到原始Kotlin代码,它可能会使所有转换后的代码显着混乱。 对于类比,可以将其视为使用谷歌翻译通过几种不同的语言翻译句子,然后再回到原文。
如果您希望为使用Kotlin的开源项目做出贡献,那么学习Kotlin会更容易,也更方便。 如果你已经了解Java,那么它很容易找到它。
我同意zsmb13。
执行以下步骤并不是一个好主意:
你最终会得到一些接近废话的东西,你肯定不会得到干净,惯用的Kotlin代码。
如果您有Java开发的背景,那么使用Kotlin并不需要很长时间。 我发现它是一种非常干净和富有表现力的语言,它消除了Java不必要的样板。
正如其他人所说,将Kotlin转换为Java只是为了编辑Java中的代码,然后将其转换回Kotlin,没有任何意义。 如果您只是想编辑现有的Kotlin代码,您应该学习Kotlin并编辑Kotlin代码。
但是,由于Java可以从Kotlin无缝调用,如果您有一些非常棒的Java库或类可以填补现有Kotlin项目的空白,您可能可以直接贡献Java代码。 假设该项目不是针对Kotlin Native,并且严格禁止使用Java,他们可以利用您现有的Java代码,然后在需要修改时将其转换为Kotlin。
许多组织都遵循以下公式:所有新代码都要用Kotlin编写,现有的Java代码只有在需要更改时才能转换为Kotlin,因此Kotlin项目可能包含或至少使用Java是完全合理的。代码通过引用的库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.