我承担了一项相当具有挑战性的任务。也就是说,将一些丑陋的企业 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中文网其他相关文章!

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

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

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

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

除了shebang线,还有多种方法可以指定Python解释器:1.直接使用命令行中的python命令;2.使用批处理文件或shell脚本;3.使用构建工具如Make或CMake;4.使用任务运行器如Invoke。每个方法都有其优缺点,选择适合项目需求的方法很重要。

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

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

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


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver Mac版
视觉化网页开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

Atom编辑器mac版下载
最流行的的开源编辑器