検索
ホームページバックエンド開発Python チュートリアルClaude Sonnet による C# から Python への移行。

Migrating C# to Python with Claude  Sonnet.

私はかなり難しい仕事に取り組みました。つまり、醜いエンタープライズ C# コードを Python に変換します。深く掘り下げる前に、いくつか説明する必要があると思います。

この C# プロジェクトは、一部の機械学習モデルのデータ配管レイヤーとして機能します。データを聞くと最初に思い浮かぶのは Python です。残念ながら、これは当てはまりませんでした。改善するために、Apache Spark の .NET 拡張機能が使用されています。 Python に移行することは理にかなっています。なぜなら、Python ではこの問題に対してかなり非標準的なテクノロジーが使用されており、将来の人材の雇用がかなり困難になるからです。また、他のエンタープライズ OOP 言語にも共通する、複数レベルの抽象化、あらゆる場所での継承、制御の反転など、これもデータ プラミングでは行われない明らかな問題があります。そしてさらに悪魔に餌を与えるために、請負業者/コンサルタントの元のチーム (企業価格のコンサルタント以外に C# を使用する人がいないため) が来月退職する予定です。

ところで、私は Neovim を使用しており、Github Copilot を 2 年近く使用しており、プレビュー バージョンを手に入れてから Copilot Chat (技術的には ChatGPT) も使用しているので、まったくの初心者ではありません。 LLM とコードについて説明します。

肉!

Claude 3.5 でコーディングするのはどのような感じですか。良い部分、悪い部分、醜い部分がいくつかあります。しかし、たとえ同じ機能を最初から書くことができたとしても、ほとんどの場合、何が起こっているのかわかりません。

良いところ

Claude 3.5 は驚くほど正しい結果を生成する傾向がありますが、賢く使おうとして失敗する場合もありますが、問題を修正するようにガイドすることができます。全体として、質問するのに適したツールです。私にとっては、厳密なワークフローを使用し、多くの例とエッジケースを使用して洗練されたプロンプトを作成することに多大な努力を費やしたので、満足以上でした。 C# のクラスを受講して重要な部分を Python に翻訳することができ、追加の指示はほとんど必要ありませんでした。

悪い点

私は通常 12 時間コードを書き続けられますが、時々トイレ休憩を挟んだり、水筒に水を補充したりすることもあります。そして、はい、本当に夢中になると空腹を感じません。クロードのときは流れに乗れたけど、3時間くらい経つともう死んでる感じがした。この 3 時間の間に、実際に大量のコードを作成し、生産性を感じましたが、それはノンストップでコード レビューを行ったり、変更を求めたり、生成されたものが有効かどうかドキュメントを調べたり調べなかったりするようなものでした。

醜い

あなたがプログラマーであれば、おそらく自分が書いたコードにある程度は精通しているでしょう。この親しみやすさは時間の経過とともに薄れていく傾向がありますが、コードベースを十分に長く扱っていれば、やり方がわかってきます。 LLM で生成されたコードでは、このようなことは起こりません。何が起こっているのかほとんど理解できませんでした。何日もの間、私は大量のコードを作成し、すべての行をレビューし、時々変更を要求しましたが、結局のところ、実際に何が起こっているのかほとんどわかりませんでした。最終的には、コードベースが見知らぬもの、私が書いたものではないもののように感じられました。さらに悪いことに、実際のコード スタイルは一貫性がなく、同じ日にどのファイルがどこに書かれたのかが一目瞭然で、まるで別の人が書いたように感じられました。

テイクウェイ

私はこの本格的な LLM コーディング アプローチのレビュー、再調整、微調整に多くの時間を費やしましたが、ほとんどの場合、結果はただのコードになり、ある程度は機能しますが、その理由や方法はわかりません。大きな疑問は:

1 年前にかつて架空の同僚と書いたような、あまり愛着のないコード ベースを手に入れる価値はあるでしょうか。

要約すると、より多くのコードを作成したように感じましたが、品質は通常よりも低かったです。場合によっては、特に気にしない場合には、この低品質が正当化されることがあります。しかし、私が恐れているのは、あらゆるコードベースが記録的な速さで「レガシー」になる時代が近づいているということです。

以上がClaude Sonnet による C# から Python への移行。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
リストと配列の選択は、大規模なデータセットを扱うPythonアプリケーションの全体的なパフォーマンスにどのように影響しますか?リストと配列の選択は、大規模なデータセットを扱うPythonアプリケーションの全体的なパフォーマンスにどのように影響しますか?May 03, 2025 am 12:11 AM

forhandlinglaredataSetsinpython、usenumpyArrays forbetterperformance.1)numpyarraysarememory-effictientandfasterfornumericaloperations.2)nusinnnnedarytypeconversions.3)レバレッジベクトル化は、測定済みのマネージメーシェイメージーウェイズデイタイです

Pythonのリストと配列にメモリがどのように割り当てられるかを説明します。Pythonのリストと配列にメモリがどのように割り当てられるかを説明します。May 03, 2025 am 12:10 AM

inpython、listsusedynamicmemoryallocation with allocation、whilenumpyArraysalocatefixedmemory.1)listsallocatemorememorythanneededededinitivative.2)numpyArrayasallocateexactmemoryforements、rededicablebutlessflexibilityを提供します。

Pythonアレイ内の要素のデータ型をどのように指定しますか?Pythonアレイ内の要素のデータ型をどのように指定しますか?May 03, 2025 am 12:06 AM

inpython、youcanspecthedatatypeyfelemeremodelernspant.1)usenpynernrump.1)usenpynerp.dloatp.ploatm64、フォーマーpreciscontrolatatypes。

Numpyとは何ですか、そしてなぜPythonの数値コンピューティングにとって重要なのですか?Numpyとは何ですか、そしてなぜPythonの数値コンピューティングにとって重要なのですか?May 03, 2025 am 12:03 AM

numpyisessentialfornumericalcomputinginpythonduetoitsspeed、memory efficiency、andcomprehensivematicalfunctions.1)それは、performsoperations.2)numpyArraysaremoremory-efficientthanpythonlists.3)Itofderangeofmathematicaloperty

「隣接するメモリ割り当て」の概念と、配列にとってその重要性について説明します。「隣接するメモリ割り当て」の概念と、配列にとってその重要性について説明します。May 03, 2025 am 12:01 AM

contiguousMemoryAllocationisucial forArraysは、ForeffienceAndfastelementAccess.1)iteenablesConstantTimeAccess、O(1)、DuetodirectAddresscalculation.2)itemprovesefficiencyByAllowingMultiblementFechesperCacheLine.3)itimplifieMememm

Pythonリストをどのようにスライスしますか?Pythonリストをどのようにスライスしますか?May 02, 2025 am 12:14 AM

slicingapythonlistisdoneusingtheyntaxlist [start:stop:step] .hore'showitworks:1)startisthe indexofthefirstelementtoinclude.2)spotisthe indexofthefirmenttoeexclude.3)staptistheincrementbetbetinelements

Numpyアレイで実行できる一般的な操作は何ですか?Numpyアレイで実行できる一般的な操作は何ですか?May 02, 2025 am 12:09 AM

numpyallows forvariousoperationsonarrays:1)basicarithmeticlikeaddition、減算、乗算、および分割; 2)AdvancedperationssuchasmatrixMultiplication;

Pythonを使用したデータ分析では、配列はどのように使用されていますか?Pythonを使用したデータ分析では、配列はどのように使用されていますか?May 02, 2025 am 12:09 AM

Arraysinpython、特にnumpyandpandas、aresentialfordataanalysis、offeringspeedandeficiency.1)numpyarraysenable numpyarraysenable handling forlaredatasents andcomplexoperationslikemoverages.2)Pandasextendsnumpy'scapabivitieswithdataframesfortruc

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境