作者 | Eran Yahav
編譯 | 言征
出品 | 51CTO技術棧(微信號:blog51cto)
時至今日,AI編碼工具已經進化到足夠強大了嗎?這未必好回答,但從2023 年 Stack Overflow 上的調查數據來看,44% 的專業開發人員已經在其軟件開發過程中使用AI工具,另據一些報告稱,到 2025 年底,這一數字將增加一倍以上。
這個采用速度(假如采用占比達到88%),對于軟件開發領域而言,已經足夠說明開發者對于AI工具的喜愛。
到現在如果才說“人工智能將改變一切”已經過時了。
開發者對于新技術而言,往往都是第一批早期采用者,是當之無愧的極客先鋒。
他們看到AI時,就預知到生產力會得到提高。
令人意外地是,“人工智能編碼助手”這個綽號遠遠低估了這個產品的好處。最新的產品遠遠超出了完成代碼行的范疇,它還可以幫助開發人員討論功能、設計用戶體驗、選擇正確的庫、應用正確的語法、運行臨時測試等等——所有這一切都是通過類似于用戶聊天時所享受的交互來完成的。
人工智能編碼助手的優點在于,不管你是專家還是新手,即使是最熟練、最有經驗的開發人員也都需要這位無所不知的神助攻。
對于專家而言,這位“AI智庫”可以從廣泛、深入、多樣化的代碼的巨大存儲庫中提出建議。
同樣,那些剛接觸軟件開發的人可以在其特定任務的背景下受益于人工智能指導,加速他的學習過程,甚至使熟練的業務用戶都能夠構建應用程序。
人工智能編碼工具可以自動執行許多任務,以至于開發人員可能會發現他們原來的一些技能將不再需要。但這沒關系,因為許多工作都涉及到開發人員很樂意放棄的苦差事。
1.搜索晦澀的文檔細節
即使是最敏銳的開發人員也會花費大量時間通過 google 或 Stack Overflow 尋找各種細節。人工智能工具非常擅長快速呈現正確的信息——不僅可以提供 API 的正確語法等詳細信息,還可以提供更廣泛的提示,例如“這個函數的參數是什么?” 或“找到一個可以完成 XX 任務的組件。” 是的,開發人員需要驗證人工智能的響應,但節省的時間和減少的乏味可能是驚人的。
2.在周期結束時編寫怪物測試和文檔
敏捷開發方法已經要求開發人員應該在開發過程中進行測試,而不是在軟件開發周期結束時進行測試。但這需要工作。人工智能編碼助手使開發人員能夠自動生成細粒度的測試,作為生成代碼本身的副產品。出于同樣的原因,編寫文檔的苦差事變得更加容易:人工智能編碼助手可以僅根據代碼提供組織良好的初稿。該文檔并不完美(通常不包括解釋設計選擇的重要方面),但編輯它會比從頭開始容易得多。人工智能讓我們可以花更多時間來構建應用程序。
3.研究屎山
有了人工智能編碼助手,負責維護代碼的開發人員就不必仔細研究其他人的工作來了解他們最初想要做什么。開發者只需選擇一段代碼片段,然后讓AI編碼助手進行解釋即可。
4.通過分析復雜代碼來艱苦地跟蹤錯誤
動態測試不僅可以捕獲錯誤,人工智能編碼助手還可以在潛在錯誤嵌入代碼之前向開發人員發出警報。它們還允許開發人員簡單地選擇一段代碼,由人工智能工具識別出錯誤或問題,并獲得建議和應用的代碼更改。安全缺陷也可以被識別,但請注意,人工智能編碼助手并不能替代全面的安全測試。
5.編寫重復的代碼塊
盡管人工智能編碼助手的用途遠不止代碼完成,但開發人員會歡迎能夠消除編碼中最冗余的方面。IDE 中的 AI 代碼補全將自動填充類、函數和名稱,從而消除重復任務。使用支持人工智能的工具創建軟件意味著更少的繁瑣任務和更多創造力。
于企業而言,AI編碼助手可以使開發人員快速學習新領域,并填補組織最重要的軟件開發工作中的人才缺口。
而于技術人員而言,AI編碼助手可以快速完成開發人員最不喜歡做的任務,更重要的是,它們可以在開發人員工作時最需要的時刻顯示重要信息。