一些 C 開發人員強烈建議不要使用using namespace std,因為他們更喜歡在代碼中顯式包含每個函式的命名空間。這樣做的原因包括閱讀代碼時的清晰度以及防止具有相同識別符號的陰影定義。根據Julia 的檔案,所有模塊和型別都已經包含using Base(和其他)陳述句,因此實際上不需要完全限定的名稱。(不過,有一種方法可以推翻這種默認行為,正如檔案中所解釋的那樣。) Julia 程式員是否在撰寫模塊時對函式和型別使用完全限定的名稱是否達成了風格共識?Base也就是說,例如,寫Base.println(some_string)vs println(some_string)。
uj5u.com熱心網友回復:
Julia 程式員在撰寫模塊時是否對基本函式和型別使用完全限定的名稱是否有風格共識?
共識是不使用完全限定名稱。
Julia Base 有同樣的問題嗎?
不。包開發人員知道 中的名稱Base,并且不要掩蓋它們。
編輯
參見例如藍色風格指南。
指南中還有更多樣式規則,但相關的是:
更喜歡使用 using 而不是 import 以確保函式的擴展始終是明確的和有目的的:
# Yes: using Example Example.hello(x::Monster) = "Aargh! It's a Monster!" Base.isreal(x::Ghost) = false # No: import Base: isreal import Example: hello hello(x::Monster) = "Aargh! It's a Monster!" isreal(x::Ghost) = false
這是對包開發人員擴展 Base Julia 函式而不是掩蓋它們的建議。(這反過來意味著您可以安全地using作為用戶使用)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/508350.html
