測試與最佳化bugbugbugbug

來源:互聯網
上載者:User

標籤:結構   代碼最佳化   解析   程式   tor   操作符   覆蓋   知識   uml類圖   

單元測試
      ?? 211606318  林鋥寒       ??211606335   吳沂章

附一張至誠的朝陽美照(? ω ?)

設計單元測試的思路
  • 對每一個方法的代碼塊進行測試,返回測試結果並和預期結果進行比對

  • 對原始碼進行相應的重構,以適應測試代碼的調用,且不影響原始碼的正常運行

構造測試資料的思路
  • 通過assertEquals進行對比,可以得出測試是否成功
  • 測試要調用的方法需為public類型,否則無法測試
  • 如需調用原始碼的全域變數需要將其修改為public類型
@Test    public void testAdd() {                assertEquals(4, new MathExam6335().add(2,2,1));     }        @Test    public void testSub_0() {                assertEquals(2, new MathExam6335().sub(2,4,1));     }    @Test    public void testSub_1() {        assertEquals(0, new MathExam6335().sub(2,2,1));    }    @Test    public void testMul_0() {        assertEquals(4, new MathExam6335().mul(2,2,1));    }        @Test    public void testMul_1() {        assertEquals(0, new MathExam6335().mul(0,2,1));    }    @Test    public void testDiv_0() {         assertEquals("1", new MathExam6335().div(3,3,1));    }        @Test    public void testDiv_1() {        assertEquals("0", new MathExam6335().div(0,3,1));    }        @Test    public void testDiv_3() {        assertEquals("1...1", new MathExam6335().div(3,2,1));    }
  • 測試代碼的覆蓋率

結構最佳化UML類圖

程式流程圖

重構解析
  • 重構了3年級題目產生方法中 運算元操作符 的隨機產生

  • 在代碼中隨機產生 運算元操作符 的地方很多,有很大的資源浪費,重構處這兩處方法可以很好的改善代碼的重複率

  • 重構後方法的作用:
    • 操作符——operator()
      • 返回一個隨機符號
    • 運算元——operand()
      • 返回一個隨機數字
效能調優最佳化前效能分析

效能瓶頸
  • 代碼冗餘,繁雜
  • 代碼內的個方法塊互相依賴性較高,不利於以後擴充
最佳化方案
  • 將重複的代碼重構成一個方法,減少資源重複
  • 將代碼塊重新封裝,減少依賴性
最佳化後效能分析

總結
  • 這次代碼感覺自己有很多的知識點不會,導致代碼最佳化有點困難,經過兩天兩夜的奮戰,讓我們看到了提交作業的希望(至誠的朝陽),對於自己來說,也算是學到了一點東西!??

測試與最佳化bugbugbugbug

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.