翻譯|行業(yè)資訊|編輯:龔雪|2025-07-18 10:47:44.217|閱讀 109 次
概述:CodeRush 25.1 新推 AI 雙引擎 AiGen(語音/文字生成與修改代碼)和 AiFind(智能代碼搜索),直接在 Visual Studio 環(huán)境中響應(yīng),免除窗口切換與手動(dòng)操作,讓開發(fā)者更專注核心問題。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
CodeRush 是專為 Visual Studio 打造的高效開發(fā)插件,通過集成 AI 驅(qū)動(dòng)功能(如自然語言生成代碼的 AiGen 和智能搜索邏輯的 AiFind)、語音交互及深度重構(gòu)工具,直接在 IDE 內(nèi)無縫完成代碼生成、修改與導(dǎo)航,消除窗口切換與手動(dòng)操作,顯著提升編碼速度與專注度,讓開發(fā)者更聚焦核心問題解決。
CodeRush for Visual Studio v25.1已于日前全新發(fā)布,此版本新推 AI 雙引擎 AiGen(語音/文字生成與修改代碼)和 AiFind(智能代碼搜索),接下來我們將逐一為大家揭開這些功能的神秘面紗,歡迎下載新版體驗(yàn)!
在上文中(>),我們?yōu)榇蠹医榻B了安裝說明、AiGen、調(diào)試器顯示屬性等,本文將繼續(xù)介紹添加操作符重載、添加測(cè)試用例等。
DevExpress技術(shù)交流群11:749942875 歡迎一起進(jìn)群討論
對(duì)于該類中的插入符號(hào),雙擊并按住Ctrl鍵,然后說:“我可以獲得一些數(shù)學(xué)運(yùn)算符重載嗎?”
過了一會(huì)兒,您應(yīng)該看到下面的方法插入到您的Fraction類中:
[DebuggerDisplay("{Numerator}/{Denominator}")] public class Fraction { public static Fraction operator +(Fraction a, Fraction b) { int numerator = a.Numerator * b.Denominator + b.Numerator * a.Denominator; int denominator = a.Denominator * b.Denominator; return new Fraction(numerator, denominator); } public static Fraction operator -(Fraction a, Fraction b) { int numerator = a.Numerator * b.Denominator - b.Numerator * a.Denominator; int denominator = a.Denominator * b.Denominator; return new Fraction(numerator, denominator); } public static Fraction operator *(Fraction a, Fraction b) { int numerator = a.Numerator * b.Numerator; int denominator = a.Denominator * b.Denominator; return new Fraction(numerator, denominator); } public static Fraction operator /(Fraction a, Fraction b) { if (b.Numerator == 0) { throw new DivideByZeroException("Cannot divide by a fraction with zero numerator."); } int numerator = a.Numerator * b.Denominator; int denominator = a.Denominator * b.Numerator; return new Fraction(numerator, denominator); } public int Numerator { get; set; } public int Denominator { get; set; } public Fraction(int numerator, int denominator) { if (denominator == 0) { throw new ArgumentException("Denominator cannot be zero.", nameof(denominator)); } Numerator = numerator; Denominator = denominator; } }
有了新的操作符重載,改進(jìn)的Fraction類更容易使用。現(xiàn)在讓我們用一些測(cè)試用例來驗(yàn)證它。雙擊并按住Ctrl鍵,然后說一些類似于“一些測(cè)試用例怎么樣?”
在幾秒鐘內(nèi),您應(yīng)該將一個(gè)新的類和文件FractionTests.cs添加到項(xiàng)目中。
在機(jī)器上使用已經(jīng)引用的NUnit框架,AI構(gòu)建了以下內(nèi)容:
[TestFixture] public class FractionTests { [Test] public void TestAddition() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(1, 3); var result = fraction1 + fraction2; Assert.AreEqual(5, result.Numerator); Assert.AreEqual(6, result.Denominator); } [Test] public void TestSubtraction() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(1, 3); var result = fraction1 - fraction2; Assert.AreEqual(1, result.Numerator); Assert.AreEqual(6, result.Denominator); } [Test] public void TestMultiplication() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(2, 3); var result = fraction1 * fraction2; Assert.AreEqual(2, result.Numerator); Assert.AreEqual(6, result.Denominator); } [Test] public void TestDivision() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(3, 4); var result = fraction1 / fraction2; Assert.AreEqual(4, result.Numerator); Assert.AreEqual(6, result.Denominator); } [Test] public void TestZeroDenominatorThrowsException() { Assert.Throws<ArgumentException>(() => new Fraction(1, 0)); } [Test] public void TestZeroNumeratorInDivisionThrowsException() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(0, 1); Assert.Throws<DivideByZeroException>(() => fraction1 / fraction2); } }
請(qǐng)注意,在上面高亮顯示的行中,我們正在執(zhí)行新的操作符重載。
要升級(jí)遺留代碼或使用新框架,請(qǐng)打開該文件并簡(jiǎn)單地說明所需內(nèi)容。例如,在我們剛剛創(chuàng)建的測(cè)試類中,可能希望將所有這些Assert.AreEqual調(diào)用轉(zhuǎn)換為更流暢的內(nèi)容。
例如,雙擊并按住Ctrl鍵,然后說,“嘿,我們能把所有這些Assert.AreEqual調(diào)用轉(zhuǎn)換為Assert.That調(diào)用嗎?”
在幾秒鐘內(nèi),AiGen將類中的每個(gè)方法更改為如下所示:
[TestFixture] public class FractionTests { [Test] public void TestAddition() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(1, 3); var result = fraction1 + fraction2; Assert.That(result.Numerator, Is.EqualTo(5)); Assert.That(result.Denominator, Is.EqualTo(6)); } [Test] public void TestSubtraction() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(1, 3); var result = fraction1 - fraction2; Assert.That(result.Numerator, Is.EqualTo(1)); Assert.That(result.Denominator, Is.EqualTo(6)); } [Test] public void TestMultiplication() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(2, 3); var result = fraction1 * fraction2; Assert.That(result.Numerator, Is.EqualTo(2)); Assert.That(result.Denominator, Is.EqualTo(6)); } [Test] public void TestDivision() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(3, 4); var result = fraction1 / fraction2; Assert.That(result.Numerator, Is.EqualTo(4)); Assert.That(result.Denominator, Is.EqualTo(6)); } [Test] public void TestZeroDenominatorThrowsException() { Assert.Throws<ArgumentException>(() => new Fraction(1, 0)); } [Test] public void TestZeroNumeratorInDivisionThrowsException() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(0, 1); Assert.Throws<DivideByZeroException>(() => fraction1 / fraction2); } }
更多產(chǎn)品資訊及授權(quán),歡迎來電咨詢:023-68661681
慧都是?家?業(yè)數(shù)字化解決?案公司,專注于軟件、?油與?業(yè)領(lǐng)域,以深?的業(yè)務(wù)理解和?業(yè)經(jīng)驗(yàn),幫助企業(yè)實(shí)現(xiàn)智能化轉(zhuǎn)型與持續(xù)競(jìng)爭(zhēng)優(yōu)勢(shì)。
慧都是DevExpress的中國(guó)區(qū)的合作伙伴,DevExpress作為用戶界面領(lǐng)域的優(yōu)秀產(chǎn)品,幫助企業(yè)高效構(gòu)建權(quán)限管理、數(shù)據(jù)可視化(如網(wǎng)格/圖表/儀表盤)、跨平臺(tái)系統(tǒng)(WinForms/ASP.NET/.NET MAUI)及行業(yè)定制解決方案,加速開發(fā)并強(qiáng)化交互體驗(yàn)。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)