• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      AI 輔助開(kāi)發(fā)比人工編寫(xiě)代碼快 180 多倍,程序員是喜是憂?

      2020-03-17 09:21:03洛奇
      電腦報(bào) 2020年2期
      關(guān)鍵詞:單元測(cè)試開(kāi)發(fā)人員草圖

      洛奇

      如今,開(kāi)發(fā)人員的準(zhǔn)入門(mén)檻比以往任何時(shí)候都要高。重復(fù)性的任務(wù)占據(jù)了軟件開(kāi)發(fā)的大部分時(shí)間,并且很容易出錯(cuò)。市場(chǎng)上軟件開(kāi)發(fā)人才短缺,團(tuán)隊(duì)超負(fù)荷工作,許多企業(yè)既無(wú)法完全掌握現(xiàn)有的日益復(fù)雜的代碼,又追不上新程序開(kāi)發(fā)日新月異的發(fā)展步伐。

      對(duì)于人工智能愛(ài)好者來(lái)說(shuō),推測(cè)人工智能如何改進(jìn)軟件開(kāi)發(fā)是件令人興奮的事兒。人工智能能否在幾天之內(nèi)創(chuàng)建好原型框架而不用耗時(shí)幾個(gè)月甚至幾年?它會(huì)教人類(lèi)開(kāi)發(fā)人員如何更好地編寫(xiě)代碼嗎?人工智能的研究范圍很廣,計(jì)算機(jī)編程的靈活性基本上也是無(wú)邊界的,所以很難想象當(dāng)智能程序可以幫助人類(lèi)與代碼交互時(shí),軟件開(kāi)發(fā)會(huì)是什么樣子。

      許多開(kāi)發(fā)人員和技術(shù)經(jīng)理沒(méi)有意識(shí)到的是,在過(guò)去短短幾年里,人工智能對(duì)開(kāi)發(fā)團(tuán)隊(duì)的重要性就已經(jīng)產(chǎn)生了質(zhì)的飛躍,目前我們已經(jīng)走到了人工智能輔助軟件開(kāi)發(fā)的初級(jí)階段。

      AI 在自動(dòng)化領(lǐng)域不可或缺

      所有的軟件開(kāi)發(fā)組織都追求高效、敏捷開(kāi)發(fā),自動(dòng)化技術(shù)已經(jīng)能實(shí)現(xiàn)大規(guī)模敏捷開(kāi)發(fā)。過(guò)去十年,在進(jìn)行自動(dòng)化測(cè)試時(shí),一旦代碼發(fā)生變化,開(kāi)發(fā)人員能夠立即做出反饋,同時(shí)進(jìn)行相應(yīng)的調(diào)整,因此軟件質(zhì)量有了很大提升。自動(dòng)化軟件流水線利用機(jī)器人助手來(lái)生成 Pull Request 請(qǐng)求,從而保證更新的持續(xù)交付。

      但是許多已經(jīng)運(yùn)用了這項(xiàng)技術(shù)的公司發(fā)現(xiàn),僅依靠自動(dòng)化是不夠的。自動(dòng)化過(guò)程仍然存在瓶頸,大多數(shù)問(wèn)題出現(xiàn)在新代碼的創(chuàng)建上。例如,自動(dòng)化可以快速完成成百上千個(gè)單元測(cè)試,如果開(kāi)發(fā)團(tuán)隊(duì)自己來(lái)編寫(xiě)這些測(cè)試,則需要幾個(gè)小時(shí)甚至幾周。但是如果這些提交沒(méi)有經(jīng)過(guò)測(cè)試驗(yàn)證,那么自動(dòng)化的流水線就會(huì)產(chǎn)生垃圾。盡管會(huì)打破原本自動(dòng)化的過(guò)程,但在添加新代碼(和新測(cè)試)時(shí),還是需要進(jìn)行人工操作。

      人工智能編碼技術(shù)

      一個(gè)好的消息是通過(guò)自動(dòng)編寫(xiě)驗(yàn)證自動(dòng)化流水線其余部分的測(cè)試代碼,現(xiàn)有的人工智能代碼技術(shù)已經(jīng)可以一次性解決掉這兩個(gè)問(wèn)題。這樣的任務(wù)過(guò)去需要耗費(fèi)開(kāi)發(fā)人員很多時(shí)間,妨礙了他們?nèi)プ鰟?chuàng)建新功能等這種更有價(jià)值的工作。在單元測(cè)試中使用人工智能讓自動(dòng)化更加完善,盡管這個(gè)過(guò)程并不容易。

      正如曾經(jīng)預(yù)期的那樣,人工智能創(chuàng)建的測(cè)試與人類(lèi)編寫(xiě)的測(cè)試存在差異。但這些測(cè)試能在很短的時(shí)間內(nèi)生成,而且功能也算合格。如果不能做到比人類(lèi)編寫(xiě)的代碼更好,那就要保證出現(xiàn)問(wèn)題時(shí)代碼能很容易地被修復(fù)。就如Martin Fowler在他 2006 年《論持續(xù)集成》一文中所總結(jié)的那樣:“頻繁地運(yùn)行不完美的測(cè)試,比完全不寫(xiě)的完美測(cè)試要強(qiáng)得多?!?/p>

      利用人工智能幫助開(kāi)發(fā)者編寫(xiě)代碼,讓開(kāi)發(fā)人員和 IT 經(jīng)理不再被時(shí)間、成本和工作質(zhì)量無(wú)法權(quán)衡的問(wèn)題所困擾。不少開(kāi)發(fā)人員在最初進(jìn)行軟件開(kāi)發(fā)時(shí)都頗具創(chuàng)造力,但是大量的重復(fù)性的工作消磨掉了他們?cè)镜膭?chuàng)造力。人工智能輔助開(kāi)發(fā)不僅能讓開(kāi)發(fā)人員在不犧牲質(zhì)量的情況下更快、更經(jīng)濟(jì)地創(chuàng)建新產(chǎn)品,也能幫助他們快速地完成重復(fù)性任務(wù),把注意力回歸到創(chuàng)造性任務(wù)中,讓他們?cè)诠ぷ髦懈蝎@得感。

      落地是關(guān)鍵

      像金融業(yè)這些高度重視代碼質(zhì)量的行業(yè),也已經(jīng)開(kāi)始使用人工智能輔助軟件開(kāi)發(fā)。例如,為提高軟件開(kāi)發(fā)效率,高盛(Goldman Sachs)最近已經(jīng)開(kāi)始使用人工智能編寫(xiě)代碼。他們利用 AI 工具為一個(gè)遺留的應(yīng)用程序編寫(xiě)了 3000 多個(gè)單元測(cè)試和 1.5 萬(wàn)多行代碼,在幾個(gè)小時(shí)內(nèi)就創(chuàng)建了一個(gè)完整的測(cè)試套件。與人工編寫(xiě)測(cè)試每個(gè)平均耗時(shí) 30 分鐘相比,AI 工具能以超過(guò) 180 倍的速度編寫(xiě)測(cè)試。總的來(lái)說(shuō),銀行利用這項(xiàng)技術(shù)節(jié)省了一年多的開(kāi)發(fā)時(shí)間。

      微軟也曾開(kāi)源Sketch2Code,利用人工智能輔助技術(shù)幫助設(shè)計(jì)師和工程師將手繪的用戶界面草圖轉(zhuǎn)換為可用的 HTML 代碼。設(shè)計(jì)師和工程師們?cè)谠O(shè)計(jì)上達(dá)成一致意見(jiàn)后,會(huì)將草圖拍攝下來(lái),然后手動(dòng)將草圖翻譯成 HTML 代碼,這個(gè)翻譯過(guò)程耗時(shí)耗力,還會(huì)拖慢整個(gè)設(shè)計(jì)過(guò)程。因此,開(kāi)發(fā)人員設(shè)想如果將白紙上手繪的這些設(shè)計(jì)草圖立即反映在瀏覽器中會(huì)怎樣呢?結(jié)果是設(shè)計(jì)師們?cè)陬^腦風(fēng)暴結(jié)束后,立即可以擁有一個(gè)已經(jīng)由設(shè)計(jì)師、開(kāi)發(fā)人員甚至客戶驗(yàn)證過(guò)的現(xiàn)成原型,這樣可以為網(wǎng)站和應(yīng)用程序開(kāi)發(fā)省去不少時(shí)間,因此也就有了 Sketch2Code 的誕生。

      Facebook 在這方面也不甘落后,早在去年公司就開(kāi)發(fā)了一款名為Getafix的工具,可以自動(dòng)查找出 bug 的修復(fù)方案,并提供給工程師審批,這極大提高了工程師的工作效率和整體代碼質(zhì)量。Getafix 不僅能夠?yàn)楣こ處熖峁┲庇^的修復(fù)方案,還能利用更強(qiáng)大的聚類(lèi)算法,分析問(wèn)題代碼的上下文找到更合適的修復(fù)方案。這款 AI 輔助bug 修復(fù)軟件——Getafix 已經(jīng)被部署到擁有數(shù)十億用戶的 Facebook 的生產(chǎn)環(huán)境中,大大提升了應(yīng)用程序的穩(wěn)定性。

      人工智能輔助開(kāi)發(fā)未來(lái)可期

      值得一提的是,目前人工智能輔助開(kāi)發(fā)還停留在非常初級(jí)的階段,只能輔助開(kāi)發(fā)人員編碼和進(jìn)行自動(dòng)測(cè)試,無(wú)法實(shí)現(xiàn)大規(guī)模工業(yè)化應(yīng)用,復(fù)雜和高難度的編程還要依靠人類(lèi)開(kāi)發(fā)人員。但我們依然需要這樣的 AI 輔助技術(shù)幫助開(kāi)發(fā)人員扛下那些基礎(chǔ)性的“粗活累活”,讓他們有更多時(shí)間和精力完成更加復(fù)雜的開(kāi)發(fā)。

      隨著人工智能技術(shù)的不斷進(jìn)步以及成功應(yīng)用在更多案例中,各個(gè)行業(yè)未來(lái)都將加大人工智能在軟件開(kāi)發(fā)方面的投入。全球科技巨頭們躍躍欲試開(kāi)源各種 AI 輔助開(kāi)發(fā)工具,可見(jiàn),他們想要在這項(xiàng)技術(shù)領(lǐng)域中分一杯羹的野心昭然若揭。為了在競(jìng)爭(zhēng)中保持優(yōu)勢(shì)并擴(kuò)大規(guī)模,市場(chǎng)主體還需要將提高效率的新工具集成到開(kāi)發(fā)過(guò)程中。與此同時(shí),人工智能輔助軟件開(kāi)發(fā)技術(shù)正在完成首次迭代更新,也讓我們初步了解了未來(lái)編碼技術(shù)將如何發(fā)展。

      猜你喜歡
      單元測(cè)試開(kāi)發(fā)人員草圖
      Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
      畫(huà)好草圖,尋找球心
      草圖
      讓W(xué)indows 10進(jìn)入開(kāi)發(fā)者模式
      電腦迷(2015年12期)2015-04-29 23:22:51
      后悔了?教你隱藏開(kāi)發(fā)人員選項(xiàng)
      一年級(jí)上冊(cè)第五單元測(cè)試
      一年級(jí)上冊(cè)一、二單元測(cè)試
      一波三折
      基于Inventor概念草圖仿真在機(jī)械原理中的應(yīng)用
      第五單元測(cè)試卷
      屏东市| 穆棱市| 庆云县| 敦化市| 灵璧县| 区。| 彰化县| 龙海市| 慈溪市| 河东区| 大冶市| 天祝| 扬州市| 宁阳县| 页游| 泾源县| 喜德县| 南岸区| 遂溪县| 自治县| 民乐县| 买车| 枞阳县| 江阴市| 乌拉特后旗| 昭通市| 叙永县| 莎车县| 明溪县| 台湾省| 博湖县| 广汉市| 莱西市| 建宁县| 新邵县| 潞城市| 比如县| 江阴市| 屯昌县| 桦甸市| 额敏县|