說到java類中的order/sequence方法。 你認爲哪裏/更喜歡看main()
方法?Java類文件中main()方法的優先位置
- 在各場前頂部底部(應力用戶它的存在和力量 他使用它)
- (讓用戶首先看到的領域,之後發現主)
- ℃之後-tor
或...。
請分享您的想法,這是一種風格/哲學問題。 請不要建議將main()
保存在單獨的文件中。
說到java類中的order/sequence方法。 你認爲哪裏/更喜歡看main()
方法?Java類文件中main()方法的優先位置
請分享您的想法,這是一種風格/哲學問題。 請不要建議將main()
保存在單獨的文件中。
太陽微系統公司發佈了許多年前的Java編程語言的代碼約定,許多組織都在不同程度上遵循它。
在this section他們建議將方法放在文件的末尾。正如你所知,main
是「只是另一種方法」,儘管它是一種類方法而不是實例方法。
雖然沒有人強迫你遵循Sun的慣例,但由於熟悉程度比較接近他們,所以在貼近他們時可能略有優勢。大多數(如果不是全部的話)標準JDK庫將遵循它。
這是恕我直言的一個很好的理由去與方法,最後的方法。關於main
在這些方法中的位置,將它放在第一位或最後一位將起作用。如果您以某種方式發現它「特殊」,則將其最後放在文件中。
這只是我的想法:
的main()是無關的對象實例的靜態方法。我們知道它是一個入口點,它使我們的程序/類可執行。
事情是,在Java中,一切(但原語)是一個對象,所以main()必須在某個類的某個地方聲明。這種靜態方法可能執行的代碼更關注於設置執行程序,並將其委託給我們的業務邏輯(實際執行某些操作的對象)來運行應用程序。因此,其關注點與我們課程的其餘部分(它定義了我們試圖封裝的一些數據和行爲)不同。
main()並不真正屬於我們日常類的數據和行爲,因爲我懷疑每個類都需要自行執行。 main()關心的是運行我們的程序。因此,應該在與應用程序啓動/執行有關的項目模塊中,將其從我們的業務對象中聲明。所以,正如你可能猜測的那樣,我正在提出你所說的不要建議的東西 - 儘可能遠離你的類和邏輯,只在你的應用程序入口點的上下文中聲明它。
至於文件本身的位置,我並不認爲它很重要 - 只要顯然該文件中的代碼與設置和運行程序有關。
謝謝,我們保持main()是特殊的發射器類,但是我們有一個項目,它包含可以由main()啓動的utils類,它很方便。但是創建配置和啓動業務類的單獨/附加類將使類的數量增加一倍,並且會使代碼變得不那麼容易。所以我們尋求妥協,讓main()保持在同一個類中,但仍然保持上課容易,並且理解如何與他合作。 –
我會假設你沒有系統地將main()方法放在你編寫的每個類中(在這種情況下,你必須設想編寫單元測試)。
只要你的類包含main()方法,並且你的應用程序的入口點也是這樣,那麼這個類不應該具有除應用程序初始化以外的任何行爲。這種良好的做法被稱爲「分離關注」:一個職業=一個責任。
如果是這樣的話,你不應該在你的課堂上有很多方法。我personnaly總是按重要性排序方法:最重要的/有用的/中心的方法超過所有其他方法,不添加任何真正的工作(setter和getter是我的)。
這樣,讀者可以先訪問最重要的信息。
當然,我推薦使用Java Convention進行編碼,這意味着您在聲明方法之前首先聲明您的類字段。
爲什麼*不*將main()保存在自己的文件中?如果你不想使用OOP,那就不要使用java ... – bdares
這是一種很好的風格,可以避免在調用像「job.doAll()」之前混合參數解析和任何類型的準備。 –
感謝大家的意見。我們的團隊決定將主要課程放在班級的頂端,因爲它是班級功能的切入點。 –