日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

使用Java成功生成代码的7个技巧

發(fā)布時間:2023/12/3 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Java成功生成代码的7个技巧 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作為介紹,最近我有點安靜,部分原因是我一直在忙于Chronicle-FIX的工作 。 這是Chronicle-Enterprise套件中的一個新的超低延遲庫,我們證明了該庫可以在低個位數(shù)微秒內(nèi)解析和存儲消息。 當然,它利用了我們的開源產(chǎn)品Chronicle-Queue , Chronicle-Network和Chronicle-Bytes 。

我們實現(xiàn)的低延遲的秘密之一是,每個實現(xiàn)都可以完全基于其所需的架構(gòu)來生成自定義的修復(fù)引擎。 為了實現(xiàn)這一點,我構(gòu)建了很多代碼生成代碼。

因此,我想我將分享在此過程中中學(xué)到的一些經(jīng)驗教訓(xùn)。

1.使用代碼生成庫

到目前為止,這是最重要的提示。 我很難強調(diào)這有多重要,以及您將節(jié)省多少時間和復(fù)雜性。 您真的不想在創(chuàng)建字符串文字時試圖弄亂代碼中的正確間距或加倍和三倍轉(zhuǎn)義的引號引起麻煩!

我使用了JavaPoet ,它是開源的(Apache 2),非常好。 它處理了我想做的所有事情,包括一些非常復(fù)雜的泛型。 它唯一不支持的事情就是聲明靜態(tài)導(dǎo)入,但這很容易解決,對于一個優(yōu)秀的庫來說,它并不重要。

JavaPoet將Java代碼分解為對象:TypeSpec(類或接口),MethodSpec(方法),FieldSpec(字段),CodeBlocks(代碼塊)。 它巧妙地為基于printf模式的語句(代碼行)提供了豐富的語法。 您會發(fā)現(xiàn),遵循這種范式將為您提供更簡潔明了的代碼,而不是自己動手編寫代碼,這很容易使此類問題的過程編碼路線更加混亂。

2.首先手動編寫代碼

在沒有先編寫示例代碼的情況下,請勿嘗試并生成代碼。 通過后視鏡進行編碼不是一件容易的事,如果要逐步進行,則變得很復(fù)雜。

首先花一點時間手工編寫代碼,然后為其生成代碼。

另外,您將希望產(chǎn)生盡可能最佳的代碼,這只有在您首先花費時間和精力手工編寫代碼的情況下才能完成。

3.生成盡可能少的代碼

僅生成所需數(shù)量的代碼。 因此,例如,如果您所有生成的類都需要實現(xiàn)某個方法,請使用可以由生成的代碼調(diào)用的幫助程序類,而不是多次生成該方法。 或者,使用基類上的方法獲取代碼以擴展靜態(tài)基類。

4.確保可以一次性吹走所有生成的代碼

不要將靜態(tài)代碼與生成的代碼混合使用。 您要做的是擁有com.test.generatedcode.xx.xx類的軟件包。 在每次測試/開發(fā)運行結(jié)束時,您都應(yīng)該能夠刪除整個文件夾com/test/generatedcode ,這意味著該文件夾中根本沒有靜態(tài)代碼。

您會發(fā)現(xiàn)以這種方式安排代碼將使測試周期變得更快。

5.從一小部分可驗證的代碼開始

代碼生成的重點通常是產(chǎn)生大量代碼。 很難測試您生成的代碼是否正確。 因此,從一個小而復(fù)雜的示例開始,您可以通過閱讀代碼進行檢查,并為其找到一個測試用例。

希望以后的情況會更多。

6.生成測試用例

如第5點所述,很難在所有情況下驗證您的代碼生成器是否正確。 因此,您應(yīng)該嘗試將測試用例作為所生成代碼的一部分進行生成。 然后,您可以從生成器生成許多偏斜的復(fù)雜代碼,并對其進行測試。

7.冗長

從本質(zhì)上講,生成代碼的代碼很難閱讀和理解。 代碼生成代碼將永遠不必太快,因此不必擔(dān)心使其變得冗長。 使用大量評論,但更重要的是,嘗試使其盡可能明確,以便您可以在一年內(nèi)回顧它并仍然可以對其進行維護。

翻譯自: https://www.javacodegeeks.com/2015/12/7-tips-successful-code-generation-java.html

總結(jié)

以上是生活随笔為你收集整理的使用Java成功生成代码的7个技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。