1. gzyueqian
      18529173453

      Java培訓:為什么要用不同的方式編寫Java代碼?

      更新時間: 2021-11-26 10:39:17來源: 粵嵌教育瀏覽量:11429

        就像其他語言一樣,Java也會隨著時間的推移而發展,Java代碼的編寫風格也是如此。然后是帶有lambdas、Stream<T>和可選<T>的Java8,這些功能元素確實影響了我們編寫Java代碼的方式,但并沒有發生革命,進化相當緩慢,為什么?想學習java的小伙伴,可以報名參加java培訓,可以在短時間內獲得快速提升。


        我認為有兩個主要原因。


        第一個原因是,即使是 Java 作者也不確定新的功能元素如何集成到現有的 Java 生態系統中。 要理解這種不確定性,閱讀可選的 <T> Javadoc 就足夠了:


        API Note:Optional主要用于明確需要表示“無結果”并且使用null可能導致錯誤的方法返回類型。


        API也顯示了同樣的情況:get()方法(可能拋出NPE)以及兩個orelsetrow()方法的出現顯然是對傳統命令式Java編碼風格的尊重。


        第二個原因是,現有的Java代碼,特別是庫和框架,與函數方法不兼容——null和業務異常是慣用的Java代碼。


        快進到現在:Java17在幾周前發布,Java11很快被廣泛采用,取代了幾年前無處不在的Java8。然而,我們的代碼看起來幾乎和7年前發布Java8時一樣。


        回過頭來回答另一個重要問題可能是值得的:我們是否需要改變編寫 Java 代碼的方式? 長期以來,它為我們提供了足夠好的服務。 我們有技能、指南、最佳實踐和大量書籍來教我們如何以這種風格編寫代碼。 我們真的需要改變嗎?在java培訓中,你可以學到全面系統的知識和技能,整體提升自己,增強自身實力,提高競爭力。


        是的。我們需要提高開發性能,每一個框架、IDE、方法論、設計方法等都專注于提高軟件的實現和部署速度(當然,有必要的質量標準)。然而,盡管如此,仍然沒有明顯的開發性能突破。


        當然,有許多因素影響了軟件交付的速度,比如開發性能。


        在我看來,大多數提高開發性能的嘗試都是假設編寫更少的代碼(通常更少的代碼)自動意味著更好的性能。流行的庫和框架,如Spring、Lombok和Faign,都試圖減少代碼量。即使是Kotlin,其創建也沉迷于簡潔,而不是Java的“冗長”。歷史確實多次證明這一假設是錯誤的(Perl和APL,也許是最值得注意的例子),然而,它仍然存在并推動了大部分工作。



        任何開發人員都知道編寫代碼只是開發活動的一小部分。大多數時候我們都在讀代碼。閱讀更少的代碼是否更有效率?是的,但實際上,代碼的數量和可讀性幾乎沒有關系。同一代碼的讀寫通常會有不同的“阻抗”,表現為精神負擔。


        “阻抗”中這種差異的最好例子可能是正則表達式。正則表達式非常緊湊,在大多數情況下非常容易編寫,特別是使用無數專用工具。但是,閱讀正則表達式通常是痛苦的,而且要花費更多的時間。為什么?原因是失去了背景。在java培訓中,有很多框架的學習,還有實戰操作項目,讓你將學到的知識真正運用到實踐中去,掌握java知識和技能。


        當我們編寫正則表達式時,我們知道上下文:我們想要匹配什么,應該考慮哪些情況,可能的輸入是什么樣子,等等。表達式本身是此上下文的壓縮表示。但是當我們閱讀它們時,上下文丟失了,精確地說,使用非常緊湊的語法壓縮和壓縮了上下文。試圖從正則表達式中“解壓縮”它是一項相當耗時的任務。在某些情況下,從頭開始重寫要比試圖理解現有代碼花費的時間少得多。


        上面的例子給出了一個重要的提示:減少代碼量只有在保持上下文的情況下才有意義。一旦減少代碼會導致上下文丟失,它就開始起反作用并損害開發性能。


        實用功能Java方式


        實用功能Java是解決上述問題的一種嘗試。雖然最初的目的只是通過將特殊狀態編碼為變量類型來保存上下文,但實際使用確實顯示了所采取方法的許多其他好處:


        1.大大減少了導航。


        2.許多錯誤從運行時轉移到編譯時,這反過來提高了可靠性并減少了必要的測試數量。


        3.刪除了很大一部分樣板文件,甚至是類型聲明——更少的鍵入,更少的代碼閱讀,業務邏輯更少的技術細節。


        4.明智地減少精神負擔,需要記住與當前任務無關的技術問題。


        參加java培訓是入門學習的最佳選擇,有經驗豐富的專業老師面授指導教學,通過理論結合實戰的方式教授java基礎知識,幫助你更好的理解與運用java。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲AV秘一区二区 | 亚洲日本中文字幕天天更新 | 日本韩国偷自拍拍 | 亚洲人成影院在线播放影院 | 亚洲最大的aⅴ久久网站 | 五月定向久久可爱视频 |