[英]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.