AIGC與人工智能應用 課件 項目8 AIGC應用于編程_第1頁
AIGC與人工智能應用 課件 項目8 AIGC應用于編程_第2頁
AIGC與人工智能應用 課件 項目8 AIGC應用于編程_第3頁
AIGC與人工智能應用 課件 項目8 AIGC應用于編程_第4頁
AIGC與人工智能應用 課件 項目8 AIGC應用于編程_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

項目8AIGC應用于編程CONTENTS目錄01任務8.1編寫代碼02任務8.2修正代碼錯誤0304任務8.4解釋錯誤信息任務8.3編寫測試腳本【項目導讀】項目背景與意義AIGC帶來的編程變革AIGC技術飛速發(fā)展,為編程領域帶來全新變革,如輔助代碼生成、智能調試等,改變了程序員工作方式。編程面臨的挑戰(zhàn)隨著軟件系統(tǒng)復雜度增加,編寫高質量代碼難度增大,AIGC可助力解決這一難題。項目探索的必要性本項目深入探索AIGC在編程中的應用,能提升編程效率和質量,開啟智能化編程新篇章。編寫代碼任務8.1一、生成代碼-1.AIGC生成代碼的優(yōu)勢(1)提高開發(fā)效率對于常見編程任務,AIGC能快速生成代碼框架。如實現(xiàn)鏈表插入操作,AIGC可依據(jù)用戶提供的Python語言和基本需求,迅速生成鏈表節(jié)點定義和插入函數(shù)的基本代碼,節(jié)省開發(fā)者時間,使其專注復雜邏輯開發(fā)。(2)提供學習資源初學者可將AIGC生成的代碼作為學習參考。例如初學Java的開發(fā)者想了解簡單圖形用戶界面(GUI)實現(xiàn),AIGC能生成基本的GUI代碼示例,展示如何使用Swing庫創(chuàng)建窗口、按鈕等組件,助其快速入門。(3)代碼風格一致性AIGC可按設定的代碼風格規(guī)則生成代碼。若團隊規(guī)定Python代碼變量命名采用小寫字母加下劃線方式,AIGC生成的代碼會遵循此規(guī)則,方便代碼維護和閱讀。一、生成代碼-2.AIGC生成代碼的局限性(1)代碼質量可能有限AIGC生成的代碼邏輯可能不完善,未考慮所有情況,如邊界條件。像數(shù)組排序算法代碼,正常情況能工作,但數(shù)組為空或元素數(shù)量極多時可能出現(xiàn)問題,且代碼可能不夠優(yōu)化,無法滿足高性能場景需求。(2)缺乏對業(yè)務邏輯的深入理解AIGC不真正理解業(yè)務需求復雜性。在處理復雜金融交易邏輯的軟件項目時,它無法準確生成符合金融行業(yè)規(guī)范和安全要求的代碼,只是按輸入指令和已有模式生成。(3)安全性問題AIGC生成的代碼可能存在安全漏洞,未充分考慮代碼安全性。在Web應用開發(fā)中,其生成的代碼可能未對用戶輸入進行足夠驗證,導致SQL注入、跨站腳本(XSS)等安全問題。一、生成代碼-3.使用AIGC生成代碼的建議01(1)審查代碼無論AIGC生成的代碼看似多完美,都需人工審查。如電商系統(tǒng)訂單處理模塊代碼,AIGC生成的代碼處理訂單狀態(tài)更新時可能存在邏輯漏洞,人工審查可發(fā)現(xiàn)并修正。02(2)結合實際需求使用簡單、重復性高的代碼任務,如生成日志記錄代碼、數(shù)據(jù)模型簡單操作代碼等,可用AIGC提高效率;核心業(yè)務邏輯、復雜系統(tǒng)架構設計等,最好由專業(yè)開發(fā)人員編寫。一、生成代碼-4.使用AIGC生成代碼的步驟01(1)選擇合適的AIGC工具常見的AIGC代碼生成工具有GitHubCopilot、豆包MarsCode、文心快碼、GoogleCodey、ChatGPT、DeepSeek等。02(2)明確并輸入需求明確要生成代碼的功能,如生成計算兩個整數(shù)最大公約數(shù)的Python函數(shù)。若代碼是項目一部分,提供相關上下文信息,如已有代碼片段、項目技術棧、代碼風格要求等,助AIGC生成更合適代碼。03(3)獲取生成的代碼提交需求后,AIGC工具會生成代碼。生成的代碼可能是一個完整的函數(shù)、一個類或一個代碼片段。04(4)審查代碼檢查生成代碼是否符合需求、邏輯是否正確,查看代碼可讀性、風格是否符合項目要求,檢查是否存在潛在問題,如語法錯誤、邏輯漏洞、安全問題等。有問題可手動修改或重新調整需求描述再次生成。編寫一個Python腳本,將指定文件夾中所有.jpg文件按順序重命名為image_001.jpg、image_002.jpg等格式。(1)打開豆包AI,登錄豆包,進入豆包AI網頁版。(2)在首頁上單擊“AI編程”選項,進入AI編程頁面,如圖所示。(3)在輸入框中輸入提示詞:(4)單擊按鈕,豆包根據(jù)提示詞生成代碼以及函數(shù)說明。案例:使用豆包AI生成一個Python函數(shù),實現(xiàn)文件批量重命名功能二、優(yōu)化代碼:1.AIGC優(yōu)化代碼的作用(1)提高代碼質量AIGC可檢測代碼潛在錯誤,如邏輯錯誤、語法錯誤等。能識別變量未初始化、數(shù)組越界等問題,幫助開發(fā)人員提前修復,提高代碼健壯性。(2)提升性能通過分析代碼執(zhí)行路徑和資源使用情況,AIGC能識別性能瓶頸。如發(fā)現(xiàn)代碼中重復計算或低效循環(huán)結構,提出優(yōu)化建議,如存儲重復計算結果復用、調整循環(huán)結構減少不必要迭代,提升代碼運行效率。(3)增強可維護性AIGC可對代碼進行重構建議,識別冗余部分和復雜邏輯結構,將其簡化為更清晰、易理解的形式。如拆分嵌套過深的條件語句或替換為更簡潔邏輯表達式,便于代碼后續(xù)維護和更新。二、優(yōu)化代碼:2.AIGC優(yōu)化代碼的應用場景(1)軟件開發(fā)階段開發(fā)人員編寫代碼時可提交給AIGC工具,工具實時檢查并提供優(yōu)化建議。如開發(fā)數(shù)據(jù)處理模塊,AIGC可檢測到數(shù)據(jù)重復加載操作,建議將數(shù)據(jù)加載操作提取到單獨函數(shù),按需調用,減少資源浪費。(2)代碼審查階段AIGC可作為代碼審查工具輔助部分,幫助審查人員快速發(fā)現(xiàn)潛在問題,提高審查效率和質量。對于大型軟件項目,AIGC快速掃描代碼,標記可能存在問題的代碼片段,讓審查人員重點關注。(3)軟件維護階段軟件上線進入維護階段,AIGC可根據(jù)軟件實際運行數(shù)據(jù)(如執(zhí)行時間、內存占用等)對代碼重新分析,提出優(yōu)化建議,適應軟件運行環(huán)境變化。二、優(yōu)化代碼:3.AIGC優(yōu)化代碼的局限性(1)理解復雜邏輯的困難對于復雜業(yè)務邏輯代碼,AIGC可能難以完全理解。如金融領域復雜交易算法代碼,涉及行業(yè)特定規(guī)則和復雜數(shù)學模型,AIGC無法準確理解規(guī)則和模型關系,難以提出有效優(yōu)化建議。(2)依賴數(shù)據(jù)質量AIGC性能很大程度依賴訓練數(shù)據(jù)質量。若訓練數(shù)據(jù)有偏差或不完整,模型可能生成錯誤優(yōu)化建議。對于新興編程語言或新編程范式,因缺乏足夠訓練數(shù)據(jù),AIGC處理效果不佳。(3)安全性問題使用AIGC優(yōu)化代碼可能涉及代碼泄露風險,將企業(yè)核心代碼提交給第三方AIGC服務,可能導致代碼被惡意獲取或用于不合法目的。此外,AIGC生成的優(yōu)化建議可能存在安全漏洞,如引入SQL注入漏洞或跨站腳本攻擊漏洞。二、優(yōu)化代碼:4.使用AIGC優(yōu)化代碼的步驟(1)選擇合適的AIGC工具常見的AIGC代碼優(yōu)化工具有GitHubCopilot、豆包MarsCode、文心快碼、GoogleCodey、ChatGPT、DeepSeek、Tabnine、Codeium等。(2)輸入代碼和優(yōu)化需求提交代碼前確保代碼可運行且無明顯錯誤,將現(xiàn)有代碼粘貼到輸入框,明確優(yōu)化需求,提供代碼上下文信息,如功能描述、輸入輸出要求、性能瓶頸等。(3)獲取生成的代碼提交代碼和優(yōu)化需求后,AIGC工具會生成優(yōu)化后的代碼。(4)審查代碼檢查生成代碼是否符合需求、邏輯是否正確,查看代碼可讀性、風格是否符合項目要求,檢查是否存在潛在問題,如語法錯誤、邏輯漏洞、安全問題等。有問題可手動修改或重新調整需求描述再次生成。(1)登錄網頁版的Deepseek,在對話輸入框中輸入提示詞(2)單擊“發(fā)送”按鈕。Deepseek根據(jù)提示詞對源代碼進行優(yōu)化,然后輸出優(yōu)化后的代碼和優(yōu)化原理詳解。案例:使用DeepseekAI優(yōu)化Python計算斐波那契數(shù)列的第n項修正代碼錯誤任務8.21.代碼錯誤類型(1)語法錯誤語法錯誤指代碼不符合編程語言語法規(guī)則,由拼寫錯誤、缺少符號等引起。編譯型語言在編譯階段報錯,解釋型語言在執(zhí)行到錯誤位置時報錯。如C語言代碼缺少分號,Python代碼中使用不存在的函數(shù)名“prin”。(2)邏輯錯誤邏輯錯誤是代碼邏輯不符合預期,導致程序運行結果不正確,但不會使程序崩潰。這類錯誤難發(fā)現(xiàn)和修復,需測試和調試。例如Python代碼計算平均值時多加了1。(3)運行時錯誤運行時錯誤是程序運行中因意外情況導致的錯誤,會使程序崩潰或異常終止,需異常處理機制捕獲和處理。如內存訪問錯誤、資源耗盡、用戶輸入錯誤等。2.使用AIGC修正代碼錯誤的優(yōu)勢(1)提高開發(fā)效率AIGC能短時間快速掃描代碼,識別潛在錯誤,減少開發(fā)者手動排查時間。如大型項目中,AIGC幾分鐘可完成代碼庫掃描,而開發(fā)者可能需數(shù)小時甚至數(shù)天。(2)提升代碼質量AIGC可發(fā)現(xiàn)開發(fā)者可能忽略的錯誤,如潛在空指針異常、未處理異常等,及時修正能提高代碼健壯性和可靠性。(3)降低開發(fā)成本減少代碼錯誤可降低軟件維護和修復成本。AIGC幫助開發(fā)者在開發(fā)階段發(fā)現(xiàn)并修正錯誤,避免上線后出現(xiàn)更嚴重后果。3.AIGC修正代碼錯誤的應用場景(1)開發(fā)階段開發(fā)過程中,開發(fā)者將編寫的代碼提交給AIGC工具,工具實時檢查并提供錯誤修正建議。如編寫Web應用時,AIGC可檢測SQL注入漏洞并建議過濾和驗證用戶輸入。(2)代碼審查階段AIGC作為代碼審查工具的輔助,幫助審查人員快速發(fā)現(xiàn)潛在錯誤,提高審查效率和質量。如大型軟件項目中,AIGC掃描代碼,標記可能存在問題的片段,讓審查人員重點關注。(3)維護階段軟件上線進入維護階段,AIGC根據(jù)實際運行數(shù)據(jù)(如錯誤日志、用戶反饋)重新分析代碼,提出優(yōu)化建議,適應運行環(huán)境變化。(1)登錄網頁版的訊飛星火,單擊“智能體廣場”選項,進入“我的智能體”界面,切換到“編程”選項卡,如圖所示。(2)單擊“代碼糾錯小助手”選項,進入“代碼糾錯助手”界面,在輸入框中輸入有問題的代碼。(3)代碼糾錯小助手會輸出代碼問題列表、更正后的完整代碼以及更正說明。案例:使用訊飛星火AI修正代碼錯誤編寫測試腳本任務8.31.測試腳本的類型01單元測試腳本用于測試軟件最小可測試單元,如函數(shù)或方法,驗證單個模塊功能。例如Python的unittest、pytest,Java的JUnit。以add(a,b)函數(shù)為例,單元測試腳本可驗證其求和功能是否正確。02集成測試腳本測試多個模塊或組件間的交互,驗證系統(tǒng)不同部分接口和通信。如Selenium用于Web應用集成測試,Postman用于API測試??沈炞C用戶模塊和訂單模塊交互是否正常。03系統(tǒng)測試腳本測試整個系統(tǒng)功能是否符合需求規(guī)格說明書,從用戶角度驗證整體行為。像Selenium、Appium分別用于Web和移動應用測試,可驗證電商網站用戶從登錄到購買商品流程是否順暢。04性能測試腳本評估系統(tǒng)性能指標,如響應時間、吞吐量、資源利用率,發(fā)現(xiàn)高負載下的瓶頸。如JMeter、LoadRunner,可模擬多用戶訪問Web應用,測量響應時間。1.測試腳本的類型(5)回歸測試腳本驗證軟件修改或更新后原有功能是否正常,確保新版本無新問題。通常用單元或集成測試框架實現(xiàn),如軟件修復bug后,可驗證修復功能是否正常。2.AIGC生成測試腳本的優(yōu)勢(1)提高效率AIGC能在短時間內生成大量測試腳本。復雜軟件系統(tǒng)手工編寫腳本可能需數(shù)周數(shù)月,AIGC可快速生成涵蓋多場景的腳本框架,還能自動生成重復腳本,減少人力消耗。(2)提高覆蓋率AIGC基于訓練數(shù)據(jù)和算法,能生成包含各種邊界條件的測試腳本。如測試數(shù)值輸入框,可生成含最小值、最大值等多種情況的腳本,還能提供新測試場景,實現(xiàn)更全面覆蓋。(3)降低人力成本AIGC承擔部分測試腳本編寫工作,使測試人員可將更多時間投入測試策略制定和結果分析。對小型團隊或資源有限項目,可緩解測試人員短缺壓力。3.AIGC生成測試腳本的缺點01質量參差不齊AIGC生成的測試腳本可能存在邏輯錯誤,如電商系統(tǒng)中生成未登錄查看訂單詳情的腳本。且腳本不夠精準,對復雜特殊功能測試需大量修改。02依賴數(shù)據(jù)和訓練模型AIGC生成結果依賴訓練數(shù)據(jù),若數(shù)據(jù)有偏差,會導致某些功能測試不充分。軟件系統(tǒng)更新或業(yè)務需求變化時,模型可能無法及時跟上,新功能測試覆蓋不足。03安全性問題使用AIGC工具需輸入軟件代碼、需求文檔等敏感信息,若工具安全性低,會導致信息泄露。還可能生成惡意測試腳本,如含SQL注入攻擊代碼的腳本,損害軟件系統(tǒng)。4.使用AIGC生成測試腳本的步驟(1)明確需求分析軟件功能需求和業(yè)務流程,確定關鍵測試功能點和模塊。如在線教育平臺,需明確登錄、課程購買、視頻播放等功能的測試。(2)收集數(shù)據(jù)收集軟件相關文檔,如需求規(guī)格說明書、設計文檔、用戶手冊等,幫助AIGC理解軟件功能和業(yè)務邏輯。同時收集已有測試用例和腳本作為參考數(shù)據(jù)。(3)輸入數(shù)據(jù)和設置參數(shù)將準備好的文檔數(shù)據(jù)輸入AIGC工具,設置測試腳本類型、復雜度、測試場景范圍等參數(shù)。工具根據(jù)輸入和參數(shù)生成測試腳本。(4)審核和優(yōu)化腳本測試人員初步審核腳本,檢查是否符合測試邏輯和業(yè)務規(guī)則,如有無語法錯誤、是否符合功能流程。不符合要求的部分可手動修改或重新輸入數(shù)據(jù)生成新腳本。(1)打開ChatGPT官方網頁,登錄后進入ChatGPT用戶使用界面。(2)在輸入框中輸入提示詞:(3)單擊

按鈕,輸出自動化登錄測試腳本。案例:使用ChatGptAI編寫自動化登錄測試腳本解釋錯誤信息任務8.41.錯誤信息類型(1)語法錯誤信息通常由代碼不符合語法規(guī)則導致,錯誤信息會明確指出“SyntaxError”。如C語言代碼中缺少分號,Python代碼中使用不存在的函數(shù)名“prin”而非“print”。(2)運行時錯誤信息程序運行時出現(xiàn)的問題,如數(shù)組越界、空指針異常等,錯誤信息會明確具體錯誤類型,像“IndexError”“NullPointerException”。(3)邏輯錯誤信息不會在錯誤信息中直接體現(xiàn),程序不崩潰但行為不符合預期,需檢查輸出或行為。例如Python代碼計算平均值時多加了1。(4)警告信息提示代碼中存在潛在問題,但不阻止程序運行,錯誤信息會明確指出“Warning”或類似字樣。2.AIGC解釋錯誤信息的優(yōu)點(1)快速響應AIGC能在幾秒鐘內生成對錯誤信息的解釋,無需人工查閱大量文檔或搜索解決方案。如遇

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論