Groovy 生產項目的一些應用心得
最近在一個項目上部分應用了Groovy進行高併發程序的開發,有一些經驗和教訓分享如下:
1. 儘量使用靜態編譯和類型檢查標誌(Groovy版本>2.0),對性能有很大的提升
@CompileStatic
@TypeChecked
2. 儘量不使用動態代碼
3. catch(Exception e){ println e?.message}代碼裏的?儘可能增加,可能會節約很多的調試時間
4. 優先寫測試代碼(Unit Test, Integration Test),在寫實現代碼,分段測試,Groovy的錯誤提示,基本上對解決異常或發現問題現場沒有幫助
5. 另外一些代碼語法錯誤,可能導致整個項目編譯通過,但運行出現“Class no found"之類的詭異錯誤,這也是必須優先寫測試代碼的原因
教訓說完了,說說成績吧:
1. 人員投入減少,開發效率提升
2. 性能超過預期 (當然不是因爲Groovy的原因,是架構設計的原因)
1. 儘量使用靜態編譯和類型檢查標誌(Groovy版本>2.0),對性能有很大的提升
@CompileStatic
@TypeChecked
2. 儘量不使用動態代碼
3. catch(Exception e){ println e?.message}代碼裏的?儘可能增加,可能會節約很多的調試時間
4. 優先寫測試代碼(Unit Test, Integration Test),在寫實現代碼,分段測試,Groovy的錯誤提示,基本上對解決異常或發現問題現場沒有幫助
5. 另外一些代碼語法錯誤,可能導致整個項目編譯通過,但運行出現“Class no found"之類的詭異錯誤,這也是必須優先寫測試代碼的原因
教訓說完了,說說成績吧:
1. 人員投入減少,開發效率提升
2. 性能超過預期 (當然不是因爲Groovy的原因,是架構設計的原因)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
[轉載]安裝Groovy的Eclipse插件
iteye_12709
2020-07-07 17:30:56
gradle深度好文(轉)
s127838498
2020-07-05 23:50:12
Groovy 操作xml
berdy
2020-07-05 11:07:25
Groovy : 可以避免NullPointerException的安全屬性訪問
在Groovy中實現安全的屬性訪問是非常簡單的事情。假如我們有下面一個簡單的數據模型:class Company { Address addre
iteye_21091
2020-07-03 22:28:45
腳本式pipeline用node指定在執行機上運行
#!groovy timestamps { node(agent_1){ println "xxxx" } node(agent_2){ println "yyyy" }
运维@小兵
2020-07-02 21:40:33
Groovy XmlSlurper 的線程安全問題
iteye_3179
2020-07-05 18:28:02
看懂Gradle腳本(4)- Groovy語法之運算符重載
繼續討論Task定義 回顧一下前一篇文章的例子: task myTask { doLast { println 'hello world!' } }這段腳本定義了一個名爲myTas
zxh0
2020-07-05 00:11:34
Java8學習筆記(3) -- InvokeDynamic指令在Groovy裏的使用
zxh0
2020-07-04 23:28:30
看懂Gradle腳本(3)- Groovy AST轉換
延續上一篇文章 上篇文章末尾有一段腳本,定義了一個Task: task 'myTask' { doLast { println 'hello world!' } } 我們已經知道,這段腳
zxh0
2020-07-04 23:28:30
看懂Gradle腳本(1)- Groovy語言的Map語法糖
zxh0
2020-07-04 23:28:30
Why are you still not using Hudson?
Agilelee
2020-07-04 19:27:07
Groovy: 把Map作爲接口的實現來使用
iteye_21091
2020-07-03 22:28:55
Groovy:運行期把方法mixin到對象實例
iteye_21091
2020-07-03 22:28:55
24小時熱門文章
-
釘釘打卡速度慢
-
Nginx R31 doc 官方文檔-01-nginx 如何安裝
-
Python 潮流週刊#51:用 Python 繪製美觀的圖表
-
Qt/C++音視頻開發74-合併標籤圖形/生成yolo運算結果圖形/文字和圖形合併成一個/水印濾鏡
-
挑戰程序設計競賽 2.2章習題 POJ - 3617 Best Cow Line 貪心
-
字節面試:MySQL什麼時候 鎖表?如何防止鎖表?
-
.NET8連接SQL SERVER 2008 R2 報:證書鏈是由不受信任的頒發機構頒發的
-
golang開發環境搭建(win10)
-
python計算機視覺學習筆記——PIL庫的用法
-
Golang初學:獲取程序內存使用情況,std runtime