在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何借助GPT-4評審、重構代碼?

vliwulianw ? 來源:軟件質量報道 ? 2023-03-31 09:27 ? 次閱讀

我們將演示使用ChatGPT或GPT-4來檢查和重構代碼的技術,以及討論一些限制,并為在編程工作流中使用這些LLM提供方便的資源。

我們將從檢查和重構的方法開始,對于每種方法,我們希望嘗試不同的提示和所提供的技術,以釋放AI驅動的代碼改進的全部潛力。

用GPT-4重構代碼

重構代碼之所以重要,有以下幾個原因:它增強了可讀性和可維護性,使開發人員更容易理解和修改代碼。它還有助于防止潛在的錯誤,并確保您的代碼遵循已建立的最佳實踐。最終,重構可以產生更高效、更可靠、更健壯的軟件。

GPT-4可以顯著促進這一過程。通過使用GPT-4檢查和評估代碼,您可以快速識別需要改進的地方,并創建更清晰、更高效的代碼。利用GPT-4的功能可以節省時間并減少過程中的人為錯誤,從而更加一致地遵守編碼標準。

使舊代碼現代化

通過將舊函數提供給GPT-4,并要求它根據現代編碼實踐進行重構,可以快速實現代碼的現代化,如根據現代ES6( ECMAScript 6.0)編程標準重構以下代碼。

之前:

Before:

882a9ee4-cf56-11ed-bfe3-dac502259ad0.png

After:

884aa004-cf56-11ed-bfe3-dac502259ad0.png

在這個重構版本中,GPT4迅速做出了以下改進:

增加了JSDoc注釋

將tempConvert函數轉換為箭頭函數。

對于不可變變量,將var替換為const。

對字符串比較使用嚴格的相等性檢查(===)。

引入一個常數來消除神奇的數字。

使用模板字面量簡化return語句。

添加編碼最佳實踐或原則

我們公司或代碼庫可能會使用自己希望保留的某些編碼實踐和風格。對于這種情況,請向GPT4提供希望它關注的特定編碼實踐或風格的說明。

Prompt:檢查以下代碼并對其進行重構,使其更加DRY并采用SOLID編程原則。

注意,對于相同的輸入,它采用了SOLID編程原則中的單一責任(Single Responsibility)原則,將函數分為3個。與前面的“現代化”步驟不同,它沒有將函數轉換為箭頭(arrow)函數。

“通過將轉換邏輯提取到單獨的函數中,我們改進了代碼對單一責任原則(SOLID的一部分)的遵守,因為現在每個函數都有一個明確的、集中的目的。”

886c05f0-cf56-11ed-bfe3-dac502259ad0.png

檢測和修復錯誤

有時我們對代碼可能產生的漏洞或潛在問題視而不見。讓GPT-4檢查和解決代碼問題可以節省的不僅僅是時間。

Prompt:檢查這段代碼的錯誤并重構以修復任何問題…

故意輸入(有缺陷)的程序:

888b5d06-cf56-11ed-bfe3-dac502259ad0.png

輸出:

88a1be52-cf56-11ed-bfe3-dac502259ad0.png

GPT-4所做的更改:

增加了輸入參數驗證,以確保items是一個數組,折扣百分比是一個數字。

檢查折扣百分比的邊界條件,以確保它在0-100范圍內。

增加了項目屬性及其類型的驗證,以確保價格和數量為數字。

創建樣板代碼(*我的最愛)

開始新項目可能會很痛苦。GPT-4不知道業務邏輯,但它可以用于第一天要寫的、枯燥的樣板代碼。從技術上講,這不是重構,但它很神奇,可以成為編程生命周期中某個過程的一部分。

Prompt:為我寫一個樣板Node.js函數,它將接受一個User類型的變量,驗證用戶具有正確的權限,從postgres數據庫中獲取一個項目類型Posts的數組并返回它們。為業務邏輯留下注釋。

代碼轉換(遷移)

需要將代碼從一種語言轉換為另一種語言的原因有很多。我們發現一種語言的代碼庫需要替換為另一種語言的代碼,我們需要進行代碼的移植;或者老板讀了一篇關于最新前端框架的文章,要求我們把老程序移植到 {拆分的新代碼庫}。 在任何情況下,GPT-4都可以通過簡單的提示符提供幫助。

Prompt:在Rust中重寫以下代碼:…

向代碼中添加注釋

如果代碼是自解釋的,但需要注釋,這可以節省大量時間。

Prompt:向以下代碼添加注釋…

更好的重構技巧

像生活中的許多事情一樣,使用GPT-4,我們投入越多,得到的回報就越多。在這種情況下,提供更多的背景、說明和指導通常會產生更好的結果。

以下是改進代碼重構的技巧和技巧:

拆分提示: 嘗試將提示和預期結果拆分為多個步驟。保持提示有一個單一的結果已經被證明比組合提示產生更好的結果。例如,要求評審,然后要求基于評審響應的重構。隨著llm增加他們的令牌限制,這可能會變得不那么重要。

舉例: 提供預期的輸入、數據和輸出,以提高準確性和質量。

具體一點: 不要害怕列出你想要的,你知道的,需要的,不應該包括的。

要求它反射: 一種叫做反射的技術已經被證明可以提高GPT4的準確性。基本上就是問它‘你為什么錯了?’或者讓它反思和檢討自己的反應。

限制

這篇文章中,我們已經見識了很強的AI,但是這些模型并不完美,(目前)還不能準確地復制業務邏輯。下面是使用GPT-4檢查或重構代碼時需要注意和避免的事情:

它可能是(自信地)錯誤的: GPT4被訓練得聽起來令人信服,但這并不意味著它總是正確的。另一篇關于用ChatGPT重構Golang的很棒的文章報道了“它擺脫了類型檢查,并自信地解釋說,將非int值斷言為int類型將返回int類型的零值,但這是不正確的,會引起恐慌”。

從長遠來看,節省時間可能并不值得: 當然,GPT4可以在一分鐘內生成50行代碼,但如果它不適合我們的代碼庫,則可能需要花費45分鐘來調試和調整它,這樣還不如自己寫。

它可能會過時: 科技世界發展很快。“GPT-4通常缺乏對其絕大部分數據被切斷后(2021年9月)發生的事件的了解。” 您可能會遇到任何新更新的庫、框架或技術的問題。

結論

人工智能驅動的編程只是一種新事物,但它會一直存在下去。如果使用得當,它可以節省時間,并幫助我們編寫更好的代碼。我希望您喜歡本文,并掌握了一些提高編程效率或錯誤處理的新技能。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1793

    文章

    47567

    瀏覽量

    239417
  • GPT
    GPT
    +關注

    關注

    0

    文章

    356

    瀏覽量

    15454

原文標題:如何借助GPT-4評審、重構代碼?

文章出處:【微信號:軟件質量報道,微信公眾號:軟件質量報道】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    GPT-4發布!多領域超越“人類水平”,專家:國內落后2-3年

    電子發燒友網報道(文/吳子鵬)北京時間3月15日凌晨,人工智能研究公司OpenAI正式發布了其下一代大型語言模型GPT-4。目前,ChatGPT的Plus訂閱用戶已經可以使用GPT-4,其他用戶需要
    的頭像 發表于 03-16 01:58 ?4743次閱讀
    <b class='flag-5'>GPT-4</b>發布!多領域超越“人類水平”,專家:國內落后2-3年

    ChatGPT升級 OpenAI史上最強大模型GPT-4發布

    ChatGPT升級 史上最強大模型GPT-4發布 OpenAI正式推出了ChatGPT升級版本,號稱史上最強大模型GPT-4發布。OpenAI期待GPT-4成為一個更有價值的AI工具。 GPT
    的頭像 發表于 03-15 18:15 ?2847次閱讀

    關于GPT-4的產品化狂想

    GPT-4是條件,而不是結果
    的頭像 發表于 03-26 10:48 ?3038次閱讀
    關于<b class='flag-5'>GPT-4</b>的產品化狂想

    GPT-4是這樣搞電機的

    GPT-4寫電機基礎程序沒問題
    的頭像 發表于 04-17 09:41 ?1057次閱讀
    <b class='flag-5'>GPT-4</b>是這樣搞電機的

    一個基于GPT-4代碼搜索引擎,開源了!

    于是,一個名為 Bloop 的代碼搜索引擎應運而生,它的存在,徹底打破了以往傳統的代碼搜索方式,采用基于 GPT-4 的 AI 智能模型,成功實現用自然語言,語義化的代碼搜索方式!
    的頭像 發表于 04-27 14:25 ?1430次閱讀
    一個基于<b class='flag-5'>GPT-4</b>的<b class='flag-5'>代碼</b>搜索引擎,開源了!

    GPT-4 的模型結構和訓練方法

    GPT-4 的發布報道上,GPT-4 的多模態能力讓人印象深刻,它可以理解圖片內容給出圖片描述,甚至能在圖片內容的基礎上理解其中的隱喻或推斷下一時刻的發展。
    的頭像 發表于 05-22 15:21 ?2708次閱讀
    <b class='flag-5'>GPT-4</b> 的模型結構和訓練方法

    微軟提出Control-GPT:用GPT-4實現可控文本到圖像生成!

    該研究提出了一個簡單而有效的框架 Control-GPT,它利用 LLM 的強大功能根據文本 prompt 生成草圖。Control-GPT 的工作原理是首先使用 GPT-4 生成 TikZ
    的頭像 發表于 06-05 15:31 ?884次閱讀
    微軟提出Control-<b class='flag-5'>GPT</b>:用<b class='flag-5'>GPT-4</b>實現可控文本到圖像生成!

    GPT-4處于一個什么樣的編碼地位

    ? 面試環節第一步——回答問題,寫軟件需求 面試環節第二步——上手寫代碼 測試用例 ? 比 ChatGPT 背后 GPT-3.5 更為強大的模型 GPT-4,已正式對外發布。在 OpenAI 官方
    的頭像 發表于 06-16 10:42 ?806次閱讀
    <b class='flag-5'>GPT-4</b>處于一個什么樣的編碼地位

    GPT-4 Copilot X震撼來襲!AI寫代碼效率10倍提升,碼農遭降維打擊

    來源:新智元【導讀】GPT-4加強版Copilot來了!剛剛,GitHub發布了新一代代碼生成工具GitHubCopilotX,動嘴寫代碼不再是夢。微軟真的殺瘋了!上周,微軟剛用GPT-4
    的頭像 發表于 04-04 16:35 ?925次閱讀
    <b class='flag-5'>GPT-4</b> Copilot X震撼來襲!AI寫<b class='flag-5'>代碼</b>效率10倍提升,碼農遭降維打擊

    人工通用智能的火花:GPT-4的早期實驗

    人工智能(AI)研究人員一直在開發和完善大型語言模型(LLMs),這些模型在各種領域和任務中表現 出非凡的能力,挑戰我們對學習和認知的理解。由OpenAI開發的最新模型GPT-4[Ope23
    發表于 06-20 15:49 ?1次下載

    GPT-4已經會自己設計芯片了嗎?

    ? GPT-4已經會自己設計芯片了!芯片設計行業的一個老大難問題HDL,已經被GPT-4順利解決。并且,它設計的130nm芯片,已經成功流片。 GPT-4,已經可以幫人類造芯片了! 只用簡單的英語
    的頭像 發表于 06-20 11:51 ?1003次閱讀
    <b class='flag-5'>GPT-4</b>已經會自己設計芯片了嗎?

    OpenAI宣布GPT-4 API全面開放使用!

    OpenAI 在博客文章中寫道:“自 3 月份以來,數百萬開發者請求訪問 GPT-4 API,并且利用 GPT-4 的創新產品范圍每天都在增長。” “我們設想基于對話的模型未來可以支持任何用例。”
    的頭像 發表于 07-12 14:55 ?1286次閱讀

    gpt-4怎么用 英特爾Gaudi2加速卡GPT-4詳細參數

    介紹GPT-4 詳細參數及英特爾發布 Gaudi2 加速器相關內容,對大模型及 GPU 生態進行探討和展望。英特爾發布高性價比Gaudi2加速卡GPT4詳細參數分析。
    發表于 07-21 10:50 ?904次閱讀
    <b class='flag-5'>gpt-4</b>怎么用 英特爾Gaudi2加速卡<b class='flag-5'>GPT-4</b>詳細參數

    GPT-4沒有推理能力嗎?

    今年三月,OpenAI 重磅發布了 GPT-4 大模型,帶來了比 ChatGPT 背后 GPT-3.5 更強的推理、計算、邏輯能力,也引發了全民使用的熱潮。在各行各領域研究人員、開發者、設計師的使用過程中,「GPT-4 是最為領
    的頭像 發表于 08-11 14:20 ?931次閱讀
    <b class='flag-5'>GPT-4</b>沒有推理能力嗎?

    ChatGPT plus有什么功能?OpenAI 發布 GPT-4 Turbo 目前我們所知道的功能

    OpenAI 發布 GPT-4 Turbo 目前我們所知道的功能分析解答 在最近的OpenAI DevDay上,該組織發布了一項備受期待的公告:推出GPT-4 Turbo,這是對其突破性AI模型
    的頭像 發表于 12-13 09:19 ?1194次閱讀
    ChatGPT plus有什么功能?OpenAI 發布 <b class='flag-5'>GPT-4</b> Turbo 目前我們所知道的功能
    主站蜘蛛池模板: 天堂网最新| 三级黄网站| 日本不卡一区| 久久在线播放| 业余性自由色xxxx视频| 午夜丁香婷婷| 日本高清中文字幕在线观穿线视频| 日韩欧美一卡二区| 巨乳色网站| 俺去在线| 特黄特黄一级高清免费大片| 四虎comwww最新地址| 国产午夜免费一区二区三区| 视频网站免费| 九九热re| 亚洲video| 欧美日本一区二区三区道| 狠狠狠狼鲁欧美综合网免费| 99国产精品农村一级毛片| 天天干天天操天天干| 成人人免费夜夜视频观看| 4455四色永久免费| 伊人久久大香线蕉综合亚洲| 色综合久久综合| 久青草免费在线视频| 7m视频精品凹凸在线播放| 久草在线资源网| 777黄色片| 性色网站| 久久久久久久综合| 深夜网站在线| 一区二区视屏| 婷婷色人阁| 亚洲三级在线视频| 日韩城人视频| 电影一区二区三区| 久久久网站亚洲第一| 午夜视频在线观看免费观看在线观看| 亚洲爱婷婷色婷婷五月| 久久综合色综合| 天天色天天搞|