搜尋
首頁後端開發Python教學使用 Claude Sonnet 將 C# 遷移到 Python。

Migrating C# to Python with Claude  Sonnet.

我承擔了一項相當具有挑戰性的任務。也就是說,將一些醜陋的企業 C# 程式碼轉換為 Python。在深入探討之前,我覺得我需要做一些解釋。

這個 C# 專案充當某些機器學習模型的資料管道層。聽到數據,你首先想到的應該是Python。不幸的是,情況並非如此,為了讓它變得更好,它使用了 Apache Spark 的 .NET 擴充功能。將其遷移到 Python 是有道理的,因為它使用相當非標準的技術來解決問題,這使得招募未來的人才相當困難。還有其他明顯的問題,在其他企業 OOP 語言中也很常見,例如多層抽象、無所不在的繼承、控制反轉,以及您在資料管道中不做的事情。為了進一步助長魔鬼,原來的承包商/顧問團隊(因為除了一些企業顧問之外,還有誰會使用 C#)將於下個月離開。

順便說一句,我使用Neovim,而且我已經使用Github Copilot 近兩年了,自從我拿到預覽版本以來,我也使用Copilot Chat(技術上是ChatGPT),所以我絕不是一個完全的新手,當它涉及法學碩士和代碼。

肉!

使用 Claude 3.5 編碼感覺如何,有好的、壞的和醜陋的部分。但大多數情況下,即使您能夠從頭開始編寫相同的功能,您也不知道發生了什麼。

好的

Claude 3.5 往往會產生令人驚訝的正確結果,但是,有時它會嘗試變得聰明,但會失敗,但您可以指導它解決問題。總的來說,它是提問的好夥伴,對我來說,因為我有嚴格的工作流程,而且我確實付出了很多努力來製作帶有大量示例和邊緣情況的複雜提示,所以我非常滿意。我可以學習 C# 課程並將重要部分翻譯成 Python,只需要很少的額外說明。

不好的

我通常可以寫 12 小時的程式碼,偶爾上廁所,補充我的水壺。是的,當我真正投入其中時,我不會感到飢餓。和克勞德在一起時,我確實進入了心流狀態,但大約三個小時後,我感覺死了。在這3 小時內,我確實生成了很多程式碼,並且感覺很有成效,但這就像不停地進行程式碼審查、要求更改,而且大多數情況下,如果生成的內容有效,則不會查找文檔。

醜陋的

如果您是編碼員,您可能在某種程度上熟悉您編寫的程式碼。這種熟悉感往往會隨著時間的推移而消失,但如果您在程式碼庫上工作了足夠長的時間,您就會熟悉周圍的情況。使用 LLM 產生的程式碼,這種情況就不會發生。我對發生的事情知之甚少。幾天來,我確實編寫了很多程式碼,審查了每一行,時不時地要求進行一些更改,但最終我幾乎不知道到底發生了什麼。最後,程式碼庫感覺就像一個陌生人,不是我寫的。更糟的是,實際的程式碼風格不一致,你可以告訴appart哪些檔案是同一天寫的,感覺像是不同人寫的。

外賣

我花了很多時間來審查、重新設計、調整這個完整的 LLM 編碼方法,但大多數時候的結果只是程式碼,這在某種程度上有效,但你不知道為什麼或如何。最大的問題是:

最後得到一個你幾乎沒有依戀的程式碼庫是否值得,它立即感覺就像你一年前與曾經想像中的同事一起編寫的。

總而言之,我確實感覺自己產生了更多程式碼,但品質卻比平常低。在某些情況下,這種較低的品質是合理的,特別是如果您不在乎的話。但我擔心的是,時間即將到來,每個程式碼庫都將在創紀錄的時間內成為「遺產」。

以上是使用 Claude Sonnet 將 C# 遷移到 Python。的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
您如何將元素附加到Python列表中?您如何將元素附加到Python列表中?May 04, 2025 am 12:17 AM

toAppendElementStoApythonList,usetheappend()方法forsingleements,Extend()formultiplelements,andinsert()forspecificpositions.1)useeAppend()foraddingoneOnelementAttheend.2)useextendTheEnd.2)useextendexendExendEnd(

您如何創建Python列表?舉一個例子。您如何創建Python列表?舉一個例子。May 04, 2025 am 12:16 AM

TocreateaPythonlist,usesquarebrackets[]andseparateitemswithcommas.1)Listsaredynamicandcanholdmixeddatatypes.2)Useappend(),remove(),andslicingformanipulation.3)Listcomprehensionsareefficientforcreatinglists.4)Becautiouswithlistreferences;usecopy()orsl

討論有效存儲和數值數據的處理至關重要的實際用例。討論有效存儲和數值數據的處理至關重要的實際用例。May 04, 2025 am 12:11 AM

金融、科研、医疗和AI等领域中,高效存储和处理数值数据至关重要。1)在金融中,使用内存映射文件和NumPy库可显著提升数据处理速度。2)科研领域,HDF5文件优化数据存储和检索。3)医疗中,数据库优化技术如索引和分区提高数据查询性能。4)AI中,数据分片和分布式训练加速模型训练。通过选择适当的工具和技术,并权衡存储与处理速度之间的trade-off,可以显著提升系统性能和可扩展性。

您如何創建Python數組?舉一個例子。您如何創建Python數組?舉一個例子。May 04, 2025 am 12:10 AM

pythonarraysarecreatedusiseThearrayModule,notbuilt-Inlikelists.1)importThearrayModule.2)指定tefifythetypecode,例如,'i'forineizewithvalues.arreaysofferbettermemoremorefferbettermemoryfforhomogeNogeNogeNogeNogeNogeNogeNATATABUTESFELLESSFRESSIFERSTEMIFICETISTHANANLISTS。

使用Shebang系列指定Python解釋器有哪些替代方法?使用Shebang系列指定Python解釋器有哪些替代方法?May 04, 2025 am 12:07 AM

除了shebang線,還有多種方法可以指定Python解釋器:1.直接使用命令行中的python命令;2.使用批處理文件或shell腳本;3.使用構建工具如Make或CMake;4.使用任務運行器如Invoke。每個方法都有其優缺點,選擇適合項目需求的方法很重要。

列表和陣列之間的選擇如何影響涉及大型數據集的Python應用程序的整體性能?列表和陣列之間的選擇如何影響涉及大型數據集的Python應用程序的整體性能?May 03, 2025 am 12:11 AM

ForhandlinglargedatasetsinPython,useNumPyarraysforbetterperformance.1)NumPyarraysarememory-efficientandfasterfornumericaloperations.2)Avoidunnecessarytypeconversions.3)Leveragevectorizationforreducedtimecomplexity.4)Managememoryusagewithefficientdata

說明如何將內存分配給Python中的列表與數組。說明如何將內存分配給Python中的列表與數組。May 03, 2025 am 12:10 AM

Inpython,ListSusedynamicMemoryAllocationWithOver-Asalose,而alenumpyArraySallaySallocateFixedMemory.1)listssallocatemoremoremoremorythanneededinentientary上,respizeTized.2)numpyarsallaysallaysallocateAllocateAllocateAlcocateExactMemoryForements,OfferingPrediCtableSageButlessemageButlesseflextlessibility。

您如何在Python數組中指定元素的數據類型?您如何在Python數組中指定元素的數據類型?May 03, 2025 am 12:06 AM

Inpython,YouCansspecthedatatAtatatPeyFelemereModeRernSpant.1)Usenpynernrump.1)Usenpynyp.dloatp.dloatp.ploatm64,formor professisconsiscontrolatatypes。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器