Util是一個.net core平臺下的應用框架,旨在提升小型團隊的開發輸出能力。Util 自 NCC 創設之日起便已加入,作者低調朴素、持續更新,項目日趨成熟、追求完美,於 2018 年 5 月成為 NCC 第二個星數破千的項目,值得祝賀,特發此文。 ...
本文所有打賞將全數捐贈於 NCC(NCC 的資金目前由 傾竹大人 負責管理),請註明捐贈於 NCC。捐贈情況將由傾竹大人另行公示。
項目簡介
作為一款旨在提升小型團隊開發輸出能力、提高團隊效率、降低項目風險的應用框架,Util 的務實精神著實可貴。其作者何鎮汐先生擁有豐富的開發經驗和團隊管理經驗,多年來帶隊趟過項目一個又一個坑,其救火經歷更是到達了一種讓大多數人難以企及的高度。每每提及此事,他都只是謙遜地微微一笑,將功勞歸結於肯吃苦加班的團隊成員們。
儘管 Util 應用框架目前尚未完工(用 AlexLEWIS 的話來講,就是遠未達到初始戰鬥能力),但已獲得了超過一千顆星的成績,成為 NCC 的第二款破星項目(可喜的是,首個破星項目 CAP 目前已經獲得了 1.4k 星的成績),特此發文慶祝。
目前,Util 由常用公共操作類(工具類)、分層架構基類、UI 組件封裝,第三方組件封裝、第三方業務介面封裝、配套代碼生成模板、許可權等組成。圍繞 Util 的生態會越發豐富,包括神秘的多瑙河項目:)
項目:https://github.com/dotnetcore/Util
授權:MIT
作者
GitHub: https://github.com/UtilCore
博客: http://www.cnblogs.com/xiadao521 (據說明年開始恢復更新,雖然作者去年也這麼說……2333)
QQ群:一號群 386092459;二號群 376124781,請挑選一個加入
有關 Util 這個名字,其實很有意思。根據作者的說法,是為了讓別人好記,可是根據筆者的觀察,結合作者 readme 的內容後認為……可能是因為懶……23333。好吧,我們不必過於糾結名字,正如同我們不比糾結 .net core 的各種不合理簡寫一樣(神秘一笑)。以下總結了 Util 框架的特色和理念,分三部分:
關於技術
- 時髦:使用 .NET Core、TypeScript 進行開發
- 封裝:對底層原始 API 的封裝,降低學習成本,減少 BUG 概率;
- 效率:增強代碼的復用,提高開發效率;
- 借鑒:Util 借鑒了大量優秀框架,包括 ABP 和 Nop;
- 永不完美:Util 是一個不斷在發展、不斷在完善的應用框架,她永遠不會止步不前;
- 持續重構:Util 在技術飛速迭代的浪潮中持續重構,拋棄不合時宜的設計,與時俱進;
- 簡單易用:簡單易學的 API 設計,快速上手,提供大量靜態擴展方法和鏈式 API 設計;
- 強類型化:充分發揮 Visual Studio 開發工具的優勢;
- 代碼整潔:代碼潔癖晚期患者的傑作,每一行代碼都反覆斟酌;
- 本土氣息:代碼命名充滿本土氣息,鄉土本色,並以中文註釋進行補充。
關於 Flag
- 願景:讓開發變得更簡單;
- 承諾:不必擔心再次斷更,代碼會持續更新;
關於理念
- 造輪子:Util 是對各類輪子的整合,因此可以講,Util 是適合小型團隊開發的單體解決方案。Util 不反對重覆造輪子,Util 的作者何鎮汐先生的觀點是「如果你沒幾把刷子,建議還是省省吧」,言下之意是希望每一個有能力造輪子、且有足夠自信能造好輪子的開源能人們不要吝於獻技,不要陷入「不重覆造輪子」的魔鬼陷阱。而筆者更期待每一個造出優秀輪子的作者們能加入 NCC,用集體的力量繼續前進。
Util 自 NCC 創設之日起便已加入,作者低調朴素、持續更新,項目日趨成熟、追求完美,於 2018 年 5 月成為 NCC 第二個星數破千的項目,值得祝賀。為此,經 NCC 授權,由 AlexLEWIS 贈送 Util 作者何鎮汐先生圖書一本。
NCC 簡介
NCC 全稱 .NET Core Community(同時保有 .NET China Community 的名稱,其縮寫為 dotnet-china),成立於 2016 年年中。NCC(時名為 .NET Core 中國學習小組)最初項目為微軟 ASP.NET Core 文檔翻譯項目,為第一批學習 ASP.NET Core 的中文圈開發人員提供了巨大便利,後微軟逐步文檔國際化,該翻譯項目完成全部歷史使命。後經歷多次調整,最終更名為 .NET Core Community,是一個目前包括 12 個成員項目(含 1 個外部項目)、4 個子團隊的正不斷成長、完善,並正加速前進的 .NET/.NET Core 開源社區組織。
NCC GitHub:https://github.com/dotnetcore
NCC 成員項目一覽:http://projects.dotnet-china.org
NCC 公開群:436035237
加入規範
首先項目須滿足以下兩個規範:
關於加入 NCC 的項目標準
凡加入 NCC 的項目,都需要滿足以下標準
- 使用 .net standatd 開發,可用於 nfx/core 的項目;
- 具有清晰的 Git 提交記錄(git commit log);
- 具有完整的(覆蓋率在65%以上的)單元測試;
- 具有適當的跑分測試(對於基礎設施項目,跑分測試是必須的);
- 作者持續關註(項目在最近三個月內做過有效更新的);
- 項目具有一定被關註度(要求項目星數在 50 星以上)
- 代碼優美,思路清晰,說明信息完整,示例代碼到位;
- 文檔/Wiki 基本到位(可選);
- 註釋齊全(可選);
- 有明確的開源許可;
- 作者德才兼備,虛心謹慎,腳踏實地,積極向上。
附
- 根據《例外情況》,可謹慎地對部分項目適當降低標準;
- 本附加標準不可濫用
關於加入 NCC 的項目的例外情況
滿足以下例外情況的一條或多條的項目,允許對其降低標準(即《關於加入 NCC 的項目標準》):
- 有足夠的用戶將該項目用於生產環境,且較長時間未發生問題的:允許適當降低單元測試、跑分測試的標準;
- 有足夠博客教程、並有實例項目或代碼的:允許適當降低文檔/Wiki 的標準;
- 滿足上述第一點或第二點的前提下,其項目 Git 提交記錄(git commit log)未能做到清晰的,自獲知本《標準》及《例外情況》後能改進的,則以該時間節點起的提交記錄作為評估項。
- 針對項目優秀但星數較少(少於 50 星)的,須 NCC PMC Team 成員半數以上認可的,可降低星數要求。
加入流程
加入流程分為「提名」和「申請」兩類。「申請」分支的流程為:
- 申請:在 NCC Home Repo 提交 Issue 以發起申請,內容務必填寫詳盡
- 初步評審:由 .NET Core Community 管理團隊(.NET China Community Team)進行初步評審
- 技術評審:由 .NET Core Community PMC Team 進行技術評審
- 投票:由 NCC 管理團隊和 PMC Team 共同投票(管理團隊一人一票,PMC Team 一人三票),過半數贊成加入後,項目入列 NCC,併在 15 天內入列「dotnet-china 成員項目列表」
我們歡迎更多的優秀項目加入我們,如果你有什麼好想法也可以告訴我們,讓我們一起努力做好這個社區,如我們口號所言:「Making .NET GREATER together!」。
__EOF__
本文所有打賞將全數捐贈於 NCC(NCC 的資金目前由 傾竹大人 負責管理),請註明捐贈於 NCC。捐贈情況將由傾竹大人另行公示。