[TOC]
前導下劃線字符(_)表示成員對其庫是私有的。這不僅僅是慣例,而是內置于語言本身。
## 首選將聲明設為私有。
庫中的公共聲明--頂級或類--是其他庫可以并且應該訪問該成員的信號。它也是您庫的一項承諾,即支持它并在其發生時正常行事。
如果那不是你想要的,那就加下換線(_)。更少暴露的公共接口更易于維護,用戶可以更輕松地學習。分析器也將告訴您未使用的私有聲明,以便您可以刪除冗余代碼。如果成員是公共的,則不能這樣做,因為它不知道其視圖之外的任何代碼是否正在使用它。
## 考慮在同一個庫中聲明多個類。
某些語言(如Java)將文件組織與類組織聯系起來 --每個文件只能定義一個頂級類。Dart沒有這個限制。庫是與類分開的不同實體。單個庫包含多個類,頂級變量和函數(如果它們在邏輯上都屬于一起)是完全沒問題的。
在一個庫中放置多個類可以啟用一些有用的模式。由于Dart中的隱私在庫級而不是類級別工作,因此這是一種在C ++中定義“friend”類的方法。在同一個庫中聲明的每個類都可以訪問彼此的私有成員,但該庫外的代碼不能訪問。
當然,本指南并不意味著您應該將所有類放入一個巨大的整體庫中,只是允許您在一個庫中放置多個類。