華為云開發(fā)工具和效率首席專家、華為開發(fā)工具技術專委會主任王亞偉介紹CloudIDE
華為云CloudIDE幫助開發(fā)者重塑云原生開發(fā)生產(chǎn)力
華為云CloudIDE服務是一款面向云原生的輕量級WebIDE,它原生于華為云平臺、生長于云業(yè)務場景,更以其良好開發(fā)體驗、眾多開發(fā)場景和完備生態(tài)擴展能力深受華為云開發(fā)者喜愛。2021年,華為云CloudIDE攜智能化開發(fā)和云原生調(diào)測技術嶄新出場,幫助開發(fā)者重塑云原生開發(fā)生產(chǎn)力。
隨著AI和云技術(特別是云原生技術)的飛速發(fā)展,面對企業(yè)全面數(shù)字化轉(zhuǎn)型的時代背景,開發(fā)者幫助企業(yè)實現(xiàn)業(yè)務從“On Cloud”模式轉(zhuǎn)換到“In Cloud”模式成為大勢所趨。IDE作為最重要開發(fā)工具,它的服務形態(tài)、使用體驗、智能化水平和對云原生技術的支持,直接影響開發(fā)者交付軟件的效率和質(zhì)量。
提升編碼的效率一直是開發(fā)者追求的目標,IDE原生開發(fā)語言服務自帶的代碼提示主要基于名字匹配、類型匹配和語法分析,補全能力非常有限,不能很好地在更低鍵盤敲擊次數(shù)和最優(yōu)選擇推薦順序方面幫助開發(fā)者。開發(fā)者迫切需要在IDE原生語言服務之外,獲得更好的智能代碼補全技術,獲利于AI技術在編碼領域的深度實現(xiàn)。
云原生時代的應用更多以微服務、容器化、集群化方式部署于云平臺,如華為云CCE服務。在代碼調(diào)測階段,如何在復雜多微服務集群場景下提升跟蹤業(yè)務請求、斷點和調(diào)測代碼、定位問題和驗證解決的效率,是云原生開發(fā)者面對的最棘手的問題。
SmartAssist智能補全 真正有效提升編碼效率
王亞偉介紹,代碼補全是軟件開發(fā)工具最核心的能力之一,它能夠在開發(fā)者輸入幾個字符的情況下,提示補全整個符號如方法調(diào)用、類型名、變量名、類字段、關鍵字等,在一些常見上下文下,代碼補全甚至可以補全整行代碼。當前,代碼補全已經(jīng)發(fā)展為結合深度代碼分析和深度學習模型的智能補全技術,結合本地代碼分析模型和多個場景化模型,在充分理解當前上下文片段的基礎上,基于語法和語義對所有可能結果進行決策和排序,對補全結果有較好的可解釋性和可調(diào)節(jié)性。
華為云推出的基于增強的代碼分析結合多種特定場景模型的SmartAssist智能補全技術,顯著提升了以下三個方面的能力:
- 提升多符號/長結果的補全準確率;
- 對復雜上下文的非明顯結果推薦,如生僻的第三方API;
- 避免推薦過期/棄用/危險的API。
而且,SmartAssist是運行于CloudIDE內(nèi)的本地化技術,操作響應和穩(wěn)定性非常好,可以極大提升開發(fā)者的編碼效率和編碼質(zhì)量。
CloudDebugger微服務調(diào)測技術 提升在多微服務場景下的調(diào)測體驗和效率
同時,王亞偉還講到提升在多微服務場景下的調(diào)測體驗和效率,是提升云原生開發(fā)者生產(chǎn)力的重要環(huán)節(jié)。
當前微服務調(diào)測主要面臨的問題包括:接口測試工作量巨大,微服務之間復雜的調(diào)用關系造成調(diào)測嚴重依賴Mock服務,測試不完備,多進程并發(fā)調(diào)試,傳統(tǒng)調(diào)試手段不可行。開發(fā)者迫切希望在新場景中重現(xiàn)單體應用開發(fā)的便利:直觀查看代碼上下文,修改內(nèi)存變量,測試語句執(zhí)行,直觀展示調(diào)用堆棧和有針對性的設置斷點。
華為云基于獨立調(diào)試適配服務、智能調(diào)試消息路由、遠端代碼熱替換和基于命名管道的批量消息傳輸協(xié)議技術打造的CloudDebugger微服務調(diào)測技術,實現(xiàn)了云原生開發(fā)者夢寐以求的能力:
- 如單體軟件調(diào)測般便利;
- 支持多人同時調(diào)測;
- 多微服務、多版本同時調(diào)測;
- 斷點、單步跟蹤、變量查看一應俱全。
可以說,CloudDebugger是下一代云原生應用開發(fā)工具中最重要的效率助推器之一。
CloudIDE+CloudDebugger實現(xiàn)多微服務調(diào)測
華為持續(xù)投入基礎軟件技術研究,華為云CloudIDE服務旨在“做最好用的云端IDE服務”,為云原生開發(fā)者重塑開發(fā)生產(chǎn)力,幫助企業(yè)數(shù)字化轉(zhuǎn)型和落地華為云云原生2.0,真正實現(xiàn)生于云、長于云、立而不破!