精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

首測!GPT-4o做Code Review可行嗎? 原創

發布于 2024-5-24 15:06
瀏覽
0收藏

編輯 | 言征

出品 | 51CTO技術棧(微信號:blog51cto)

近日,OpenAI一記重拳,推出了GPT-4o(“o”表示“omni”),將語音識別和對話方面的優勢展示的淋漓盡致。幾乎可以肯定,它也是一個更強的LLM。但它能進行代碼審查嗎?本文通過一些測試來尋找答案。

1.長乘法:交給計算機就可以

首先,我檢查了它是否可以進行long乘法運算:

首測!GPT-4o做Code Review可行嗎?-AI.x社區圖片

答案是正確的,通過在線計算器上可以確認。但請注意,它并沒有試圖“計算出”結果——它只是將問題甩給了計算器。末尾的“查看分析”的藍色圖標基本上說明了這一點。這在之前的模型上都沒有做到。

2.代碼審查

我個人對正式嚴謹的代碼審查沒有興趣。是的,有時初級開發人員可能確實需要這樣的審查,但單元測試和配對編程通常足以消除不良的編程習慣。但是,幾句含糊的評論可以幫助指出代碼中的潛在小問題,而不會顯得對容易重寫的代碼片段強加某種權威性的命令。

簡而言之,代碼審查更多的是一種social互動,而不是其他任何東西。請專注于工程問題,而不是代碼的語義細節。

然而,代碼審查是開發人員使用大型語言模型(LLM)的一個好案例。在這里,我將查看三段不同的代碼,每段代碼都只是繪制一個帶有對角線的矩形框。我將添加問題,并查看GPT-4o(通過ChatGPT)如何對它們進行審查。

接下來,我們從簡單的C#對角線繪制程序開始:

復制

using System;
 
public class Program
{
  public static void Main()
  {
    BoxWithDiagonalLine(5);
    BoxWithDiagonalLine(6,1);
    BoxWithDiagonalLine(6,-1);
    BoxWithDiagonalLine(2);
    BoxWithDiagonalLine(-1);
  }
 
  // Example 1
  public static void BoxWithDiagonalLine(int boxsize, int linepos = 0)
  {
    for(int i=0; i < boxsize; i++)
    {
      for (int j = 0; j < boxsize; j++)
      {
        if (j == linepos) Console.Write("x ");
        else Console.Write("o ");
      }
      linepos++;
      Console.Write("n");
    }
    Console.Write("n");
  }
}

將這個代碼丟進https://dotnetfiddle.net/(不過請將編譯器設置為至少.NET 6)并查看響應:

首測!GPT-4o做Code Review可行嗎?-AI.x社區圖片

這段代碼相當簡單,也相對容易理解。外部循環控制行,內部循環在正確的位置放置“x”。變量命名很簡潔,代碼很短。該方法有一個默認值,用于生成從左上角到右下角的完整對角線。雖然我們可以將起始線位置向左或向右移動,但擁有負的盒子大小(boxsize)并沒有多大意義。因此,我們可以通過將方法參數更改為無符號整數(unsigned int)來改進它。這將立即阻止上一個示例甚至無法編譯。一個非常大的linepos(起始線位置)將不可見,但它并不危險。

到目前為止,沒有什么可評論的。

接下來,將for循環替換成while循環:

復制

// Example 2
public static void BoxWithDiagonalLine(int boxsize, int linepos = 0)
{
  int i = 0;
  while(i++ < boxsize)
  {
    int j = 0;
    while (j++ < boxsize)
    {
      if (j == linepos + 1) Console.Write("x ");
        else Console.Write("o ");
    } linepos++;
    Console.Write("n");
  }
  Console.Write("n");
}

現在這段代碼可以運行,但值得稍微皺一下眉頭。通過在后置遞增循環變量(在i和j后面的++意味著值首先被讀取,然后再增加1)我們節省了一些空間,但我們需要那個笨拙的linepos + 1表達式。

while循環不如for循環那樣明確地表達開始和結束狀態——但我們并沒有陷入任何瘋狂的狀態。

我們進行最后一次更改。這次代碼中有一個變量來“搗亂”,它試圖使用linepos來控制外部循環:

復制

//Example 3
public static void BoxWithDiagonalLine(int boxsize, int linepos = 0)
{
  while(linepos < boxsize)
  {
    int j = 0;
    while (j++ < boxsize)
    {
      if (j == linepos + 1) Console.Write("x ");
        else Console.Write("o ");
    }
    linepos++;
    Console.Write("n");
  }
  Console.Write("n");
}

在試圖不必要地移除一個循環變量的過程中,矩形框本身將不再完整——盡管使用默認值時可以工作。事實上,這解決了另一個問題,即總是在底部角落可靠地以一個“×”結束。

首測!GPT-4o做Code Review可行嗎?-AI.x社區圖片

這段糟糕的代碼可能是因為開發者不當地繼續使用了while循環。

現在讓我們總結一下我們如何看待這些不同版本:

第一個例子是可行的,但我們可以強制參數為正數。然而,沒有注釋的話,這段代碼的功能并不十分清晰。

第二個例子使用了while循環,它不像for循環那樣具有確定性。同時,由于后置遞增,還需要考慮一個丑陋的表達式。

第三個例子完全是錯誤的,盡管在默認情況下它得到了正確的結果。

我們對AI代碼審查有什么期望?首先,我沒有給出任何注釋,那么它能否弄清楚這段代碼的作用?只有方法的名稱揭示了這一點。

這是GPT-4o的回應:

復制

“Your code is functional and effectively generates a box with diagonal lines based on the provided parameters. However, there are a few improvements and edge cases to consider:
1.Input Validation: Ensure that the box size is positive and greater than 1, since a box with a size less than 2 doesn’t make much sense.
2.Handling linepos: Improve handling of diagonal positions to ensure the diagonals are correctly drawn when linepos is negative or greater than the box size.
3.Code Readability: Add comments and improve variable naming for better readability and maintenance.”

【譯】“您的代碼是功能性的,并且能夠有效地根據提供的參數生成帶有對角線的矩形框。但是,有幾個改進點和邊緣情況需要考慮:

1.輸入驗證:確保矩形框的大小是正數且大于1,因為大小小于2的矩形框并沒有太大意義。

2.處理linepos:改進對角線位置的處理,以確保當linepos為負數或大于矩形框大小時,對角線能夠正確繪制。

3.代碼可讀性:添加注釋并改進變量命名以提高代碼的可讀性和可維護性。”

所以它確實理解了代碼的作用——即使它認為程序畫的是“lines”而不是“line”。這仍然很好。

它建議的代碼如下:

復制

// ChatGPT4o suggested code
public static void BoxWithDiagonalLine(int boxSize, int linePos = 0)
{
  if (boxSize < 2)
  {
    Console.WriteLine("Box size must be greater than 1.");
    return;
  }
 
  // Adjust linePos if it's out of the box boundaries
  if (linePos < 0) linePos = 0;
  if (linePos >= boxSize) linePos = boxSize - 1;
  for (int i = 0; i < boxSize; i++)
  {
    for (int j = 0; j < boxSize; j++)
    {
      if (j == linePos) Console.Write("x ");
        else Console.Write("o ");
    }
    linePos++;
 
    // Reset linePos if it goes out of the box boundaries
    if (linePos >= boxSize) linePos = 0;
    Console.Write("n");
}
Console.Write("n");

以下是將其放入dotnetfiddle.net的結果:

首測!GPT-4o做Code Review可行嗎?-AI.x社區圖片

我認為大多數人都會對小于2的boxSize感到滿意。同時,它也很好地使用了駝峰命名法來命名參數,這在C#中是正確的。但遺憾的是,它忽略了改變位置以使線條從更低處開始的想法。而由于重置了linepos,我們在第二個例子的底部得到了那個糟糕的錯誤。

不過,從代碼審查的角度來看,它確實抓住了要點。

3.第二個例子結果

讓我們給它輸入第二個例子,看看它的表現如何。下面是一些有趣的評論:



“The use of while loops is functional but could be less intuitive compared to for loops for such iterations.”


Excellent. This is exactly the right note.


“The condition j == linepos + 1 is used to determine where to place “x”. This works but can be made more intuitive by aligning with the index i.”



再次強調,這是很好的。它理解了功能性和可讀性之間的區別。

生成的代碼限制了linepos的值,并且相當奇怪地使用了取模函數來改變這個值。但最終得到了相同的結果。它回歸到了for循環,這是很棒的。

4.第三個例子結果

最后,讓我們給出糟糕的例子3,看看它的表現如何。奇怪的是,它沒有發現這個錯誤,但提出了以下建議:



“Edge Cases:

– When linepos is negative, it works but may not be intended.”



這表明它完全沒有理解代碼——當然,我也沒有明確說明我在做什么。所以,也許“wrapping line ”可能是一個合理的猜測?

5.結論

總的來說,審查的性質和結果給我留下了深刻的印象。GPT-4o生成的代碼雖然不太理想,但也還可以。在對代碼的批評中,沒有“書呆子的笨拙腳步”;相反,它輕輕地引導讀者走向更好的方向。

結果可能沒有達到預期——態度很好但代碼略有不準確。然而,新手應該會很喜歡;在這方面,它至少比部分人做得更好。

參考鏈接:??https://thenewstack.io/reviewing-code-with-gpt-4o-openais-new-omni-llm/??

本文轉載自??51CTO技術棧??,作者:言征

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
日韩一二三四| 狠狠人妻久久久久久| 欧美高清hd| 亚洲午夜激情网站| 欧美一区二区三区成人久久片| 中国一级片黄色一级片黄| 综合在线一区| 日韩电影网在线| 中文字幕国产免费| 国产免费拔擦拔擦8x高清在线人 | 99久久久国产精品美女| 日韩免费成人网| 九一精品在线观看| 国产盗摄一区二区| 国产精品的网站| 国产一区在线观| 一级片免费观看视频| 一本不卡影院| 色综合久久悠悠| 69视频在线观看免费| 午夜视频在线观看精品中文| 色欧美乱欧美15图片| 欧洲精品在线播放| 91xxx在线观看| 91在线云播放| 岛国视频一区| 国产又粗又黄又爽视频| 亚洲免费影视| 欧美精品在线视频观看| 免费观看特级毛片| 精品国产乱码久久久久久果冻传媒| 欧美一级专区免费大片| 99热这里只有精品在线播放| 狠狠躁少妇一区二区三区| 亚洲欧美区自拍先锋| 日本高清不卡三区| 性xxxx视频播放免费| 成人性视频免费网站| 91精品美女在线| 中文字幕第一页在线播放| 99热这里只有精品3| 国产一卡二卡三卡| 久久99国内| 精品国产乱码久久久久久牛牛| 日韩肉感妇bbwbbwbbw| 欧美男男激情videos| 亚洲乱码精品一二三四区日韩在线| 视频二区一区| 春暖花开成人亚洲区| 91日韩一区二区三区| 风间由美久久久| 超碰福利在线观看| 国产一区二区女| 91精品在线国产| 亚洲中文字幕在线一区| 免费高清视频精品| 国产精品a久久久久久| 日韩在线播放中文字幕| 午夜亚洲性色福利视频| 91av在线视频观看| 日韩久久中文字幕| 先锋a资源在线看亚洲| 欧美一区久久| 日本护士...精品国| 国产调教打屁股xxxx网站| 小日子的在线观看免费第8集| 永久免费av在线| 国产亚洲成aⅴ人片在线观看 | 国产99久久久国产精品| 深夜福利国产精品| 蜜桃av.com| 亚洲h色精品| 欧美成人精品影院| 九九热这里有精品视频| 亚洲视频日本| 欧美一区在线直播| japanese国产在线观看| 美女视频黄a大片欧美| 成人黄色短视频在线观看| 国产女同91疯狂高潮互磨| 国产精品一二三区| 国产区二精品视| 精品福利视频导航大全| 国产精品美女久久久久久久久久久| 成人手机视频在线| 6699嫩草久久久精品影院| 色婷婷久久一区二区三区麻豆| 国产免费999| 视频一区中文字幕精品| 亚洲国产高清高潮精品美女| 日本二区在线观看| 欧美在线黄色| 欧美在线视频免费观看| 亚洲一区中文字幕永久在线| 国产99精品国产| 欧美日韩国产三区| 成人福利片网站| 欧美日韩亚洲一区二区三区| 三上悠亚在线一区| 久久夜色电影| 久久人人爽亚洲精品天堂| 日本黄色片视频| 麻豆免费看一区二区三区| 不卡一区二区三区视频| 国产一级片在线| 亚洲综合视频在线观看| 另类小说第一页| 999国产精品一区| 亚洲一区二区精品| 国产精品成人久久| 久久精品久久99精品久久| 国产精品一区二区三区不卡| 不卡在线视频| 黑人巨大精品欧美一区二区一视频| 色婷婷一区二区三区在线观看| 日本国产精品| 欧美寡妇偷汉性猛交| 中文字幕 亚洲视频| 97aⅴ精品视频一二三区| 亚洲区成人777777精品| 成人看片在线观看| 亚洲国产女人aaa毛片在线| 蜜桃av免费在线观看| 国产精品久久国产愉拍| 亚洲自拍偷拍一区| 欧美成年黄网站色视频| 色94色欧美sute亚洲线路二| 91传媒理伦片在线观看| 91精品成人| 国产精品久久久久久久9999| 同心难改在线观看| 亚洲制服丝袜av| 91亚洲一区二区| 欧美r级电影| 国产精品对白刺激| 你懂的在线播放| 精品日韩视频在线观看| 国产艳妇疯狂做爰视频| 亚洲精品成人| 91精品综合久久久久久五月天| 在线观看免费高清完整| 色综合婷婷久久| 一本色道久久hezyo无码| 一区二区三区在线观看免费| 国产在线精品一区免费香蕉| www.av在线播放| 在线欧美日韩国产| 波多野在线播放| 日韩精品国产精品| 日韩精品一区二区三区色偷偷| av资源亚洲| 亚洲九九九在线观看| 四虎精品永久在线| 91麻豆成人久久精品二区三区| 久久久性生活视频| 加勒比色综合久久久久久久久| 欧美激情手机在线视频| 朝桐光av在线一区二区三区| 久久99精品国产91久久来源| 国产伦精品一区二区三区视频青涩 | 精品国偷自产在线| 亚洲一区二区色| 亚洲人成伊人成综合网小说| 中文字幕一区二区在线观看视频| 五月国产精品| 美腿丝袜在线亚洲一区 | 日韩欧美猛交xxxxx无码| 免费欧美网站| 久久久久久久久国产精品| 狠狠躁日日躁夜夜躁av| 欧美色道久久88综合亚洲精品| 国产精品扒开腿做爽爽| 日本免费新一区视频 | 国产欧美精品久久| 日本一区二区三区四区高清视频 | 极品颜值美女露脸啪啪| 成人丝袜18视频在线观看| 久久黄色片视频| 精品国产美女| 亚洲综合中文字幕在线观看| 7777kkk亚洲综合欧美网站| 亚洲美女黄色片| 在线免费一级片| 亚洲精品国产a| 91av在线免费| 免费成人美女在线观看| 国产在线视频综合| 国产成人精品一区二区免费看京| 成人看片人aa| 日韩伦理福利| 久久韩国免费视频| 亚洲免费不卡视频| 日本电影亚洲天堂一区| 国产1区2区3区4区| 久久米奇亚洲| 在线综合亚洲| 日本福利一区二区三区| 精品视频一二| 日韩美女毛茸茸| 东京干手机福利视频| 久久久久国产精品嫩草影院| 免费欧美在线视频| 欧美 亚洲 视频| 亚洲另类春色校园小说| 成人精品福利视频| 久久久久99人妻一区二区三区| 女~淫辱の触手3d动漫| 婷婷激情久久| 成人写真福利网| 绿色成人影院| 九九视频直播综合网| 国产69精品久久app免费版| 欧美一区二区精品在线| 黄色污污网站在线观看| 亚洲一区二区三区视频在线播放| 欧美成人短视频| 91麻豆免费观看| 国产精品99久久久精品无码| 免费看黄色91| 久久精品网站视频| 亚洲黄色大片| 成人一区二区av| 成人激情免费视频| 久久亚洲高清| 国产精品17p| 92看片淫黄大片欧美看国产片| 欧美激情喷水| 7m精品福利视频导航| 欧美xxxx做受欧美88bbw| 日韩中文字幕av| 国产对白叫床清晰在线播放| 亚洲国产欧美在线成人app| 99热这里只有精品1| 欧美精品在欧美一区二区少妇| 免费av网站在线| 欧美日韩一区二区免费在线观看 | 香蕉视频官网在线观看日本一区二区| 欧美重口乱码一区二区| 香蕉久久精品| 久久久久久欧美精品色一二三四| 大桥未久女教师av一区二区| 99精彩视频在线观看免费| 国产精品一区免费在线 | 精品国产av鲁一鲁一区| 欧美美女视频在线观看| 夜夜嗨aⅴ一区二区三区| 欧美三区在线观看| 一级欧美一级日韩| 欧美疯狂性受xxxxx喷水图片| 一二三区中文字幕| 欧美日韩精品福利| 在线观看免费黄色小视频| 欧美午夜精品久久久久久孕妇| 波多野结衣家庭主妇| 在线欧美日韩国产| 亚洲天堂狠狠干| 欧美老年两性高潮| 国产裸体无遮挡| 日韩一级二级三级| 三级网站在线看| 精品爽片免费看久久| 玖玖综合伊人| 色综合伊人色综合网站| 日本高清视频在线观看| 久久久国产精品x99av| 污污的网站在线免费观看| 欧美黑人性生活视频| 在线男人天堂| 国产精品女视频| 精品麻豆剧传媒av国产九九九| 91久久爱成人| 制服丝袜日韩| 亚洲啪啪av| 欧美在线黄色| 亚洲中文字幕无码专区| 免费一级片91| 波多野结衣网页| 91亚洲男人天堂| 国产馆在线观看| 亚洲一二三级电影| 亚洲精品男人的天堂| 欧美日韩一级大片网址| 亚洲黄色小说网址| 亚洲天堂av网| 亚洲丝袜一区| 国产成人精品日本亚洲专区61| 一级欧美视频| 国产一区视频观看| 99精品视频在线观看播放| 成人小视频在线观看免费| 久久国产主播| 日韩精品在线播放视频| 久久这里只有精品视频网| 日韩三级久久久| 黄网动漫久久久| 97成人在线观看| 亚洲乱码一区av黑人高潮| 超碰caoporn久久| 青青草成人在线| 日韩精品视频在线看| 日本一区免费看| 国产精品九九| 777视频在线| 91免费视频网址| 国产性一乱一性一伧一色| 欧美精三区欧美精三区| 视频三区在线观看| 欧美黑人一级爽快片淫片高清| 亚洲国产尤物| 国产欧美日韩在线播放| 97精品97| 欧美日韩怡红院| youjizz国产精品| 青娱乐国产精品| 欧美精品在线观看一区二区| 久久精品色图| 538国产精品一区二区免费视频| 国产精品中文| 亚洲欧美国产精品桃花| 性欧美videos另类喷潮| 9.1在线观看免费| 亚洲视频在线一区| 中文字幕网址在线| 亚洲石原莉奈一区二区在线观看| av午夜在线观看| 国产精品二区三区四区| 欧美永久精品| 999热精品视频| 中文字幕欧美三区| 欧美brazzers| 亚洲男女性事视频| 五月天国产在线| 精品一区二区三区日本| 亚洲私拍自拍| 欧洲熟妇的性久久久久久| 亚洲精品乱码久久久久| 国产一区二区自拍视频| 日韩在线免费av| 成人免费黄色| 亚洲最大色综合成人av| 秋霞午夜鲁丝一区二区老狼| 成人在线一级片| 色婷婷精品久久二区二区蜜臂av| 五月激情婷婷综合| 欧美激情视频在线| 嗯用力啊快一点好舒服小柔久久| 日韩a级在线观看| 成人一二三区视频| 亚洲一区欧美在线| 日韩精品999| 东京一区二区| 日韩av影视| 免费的成人av| 国产人妻精品一区二区三区不卡| 91精品婷婷国产综合久久竹菊| 黄色在线播放网站| 91原创国产| 激情欧美一区| 狠狠人妻久久久久久综合蜜桃| 欧美日韩国内自拍| 欧美女子与性| 国产日韩欧美在线| 亚洲综合专区| 日本在线不卡一区二区| 五月天一区二区三区| 欧洲天堂在线观看| 国产精品一区二区在线| 911精品美国片911久久久 | 风间由美性色一区二区三区四区| 国产原创中文在线观看| 久久亚洲精品国产精品紫薇| 亚洲av综合一区| 久久久999精品| 国产精品qvod| 亚洲成人福利在线观看| 亚洲欧美在线观看| 黄色av网址在线| 国产成人一区二区| 99热在线成人| 精品国产人妻一区二区三区| 在线欧美一区二区| 中文字幕在线观看播放| 久久久久久99| 久久国产精品一区二区| 国产在线欧美在线| 亚洲视频一区二区三区| 国产视频一区二区在线播放| 免费国产黄色网址| 欧美国产一区二区在线观看| 精品久久久久中文慕人妻| 97av在线视频| 久久久久久免费视频| 国产精品无码毛片| 91精品国产综合久久福利软件 | 疯狂做受xxxx高潮欧美日本| 三区四区电影在线观看| 成人免费在线看片| 日本三级亚洲精品| 日韩xxxxxxxxx| xxxx性欧美|