今天和你們分享一個效率工具,並分享運行程序和完整源代碼。這個工具是輔助管理我本身的平常工做而開發的,從06年開始開發初版,已經持續使用十多年,如今仍然在使用和改進中,這說明這個工具本質上是有效的,因此才能一直堅持使用和優化。
在最近,我又用C#和Winform進行了重寫。原本我想用WPF或者Electron重寫,這樣能把界面作的漂亮一點,或者能實現跨平臺。但由於工做繁忙,確實難以抽出不少時間。最後從實用的角度考慮,仍是用傳統的技術重寫了。
此工具通過多個版本的迭代,一直在作減法,把非核心的的功能都砍掉了,只保留了三個功能:任務管理、工做日誌、謹言警句。程序員
但這麼多年下來,在不斷的使用中,作了屢次改版。我確實發現了作一個「產品」的真理:「少便是多」。無論原來開發的功能多細緻,通常在我到了新的崗位上之後,可能大部分功能都逐漸再也不用了。由於工做內容變化了,所要使用的效率工具也會隨之變化。所以能長期一直伴隨你使用下來的功能,纔是你的核心需求。這也說明,產品若是隻是功能的堆疊,而非核心需求的功能,終究會逐漸被淘汰。
也基於這種想法,從第二版開始,我逐漸作減法,迴歸核心的需求,將邊邊角角能夠用其餘工具配合的功能都撤除了。
最新用C#重寫,只保留了三個十多年來一直在使用的核心功能:sql
工做任務採用了四象限工做法,將工做內容分爲:重要&緊急,重要&不緊急,緊急&不重要,不緊急&不重要。數據庫
強制每一小時填寫一次工做日誌,天天可回顧和總結本身的工做內容。微信
人的成功不僅在於努力,而在於觀念,更在於習慣。努力終會鬆懈,而習慣纔是能夠鍥而不捨的。因此一些智慧的句子,能夠記錄下來,系統進行輪播,每半小時播放一條,讓好的觀念反覆播放,植入你的大腦,讓習慣成天然。app
任務管理框架
任務管理的分類很是重要,通過我本身的實踐,我以爲四象限工做法是比較有效的方法。在此模塊中,我也特地標註了各象限中的任務類型應該採起的相應處理策略(我的理解管理學者的觀點後自我總結的):編輯器
記錄的功能自己很簡單,甚至沒用什麼功能強大的編輯器,由於這並不重要,重要的是工做方法。根據四象限工做法,合理分類安排本身的工做任務,完成工做後從各自分類裏刪除任務便可。
任務管理是經常使用功能,在程序最小化時會隱藏到系統右下角成爲托盤圖標(點擊托盤圖標,可從新打開程序),或者點擊浮動窗上的第一個按鈕,也可從新打開程序。
在系統啓動後,浮動窗會顯示在顯示器的右上角。函數
工做日誌工具
工做日誌模塊提供了日誌錄入、查詢和分析功能。
對於日誌的錄入,系統提供了兩種渠道:優化
每一小時系統強制要求錄入,不填寫日誌內容不能關閉。可輸入項目有:日誌內容,工做評價,工做效率(0-100間的數字)。日誌內容必填,其餘選填。
輸入好後,可按組合快捷鍵 Alt+S 保存。
可點擊浮動窗的第二個功能按鈕,臨時記錄日誌。記錄完成後,下一次自動記錄的時間調整爲1小時後。
謹言警句
此模塊提供警句的維護、輪播功能:
警句會按順序自動輪播,每30分鐘播放一條。警句播放後可手動關閉,不關閉的話1分鐘後自動關閉。出如今屏幕上的位置隨機。
浮動窗、托盤、自啓動
爲了提供使用交互的方便性,程序提供了浮動窗和托盤圖標功能:
浮動窗的左側 || 可按住拖動調整浮動窗的位置;右側有兩個按鈕,分別是:打開任務管理,和記錄工做日誌。
注意:若是是Win10系統,須要將程序以管理員身份運行,才能成功設置爲自動啓動。
講到這裏,工具的功能已經講完了。若是對源代碼不感興趣,但對此工具備興趣的朋友,可直接滾動到文章末尾,掃描二維碼關注微信公衆號,而後在後臺回覆「工做助手」,可得到程序的下載連接。
程序如何運行?
本程序由5個項目構成。4個基礎類庫項目 + 1個Winform項目。4個基礎類庫是從公司產品框架中分離出來的基礎類庫,是頗有實用性的基礎類庫代碼。
BL.Open.Core 核心類庫
在覈心類庫中包括:
BL.Open.Core.EF EntityFramework6.0 基礎類庫
在此類庫中包括:
支持直接更新到數據庫的語法,而不是EF的先提取再提交,好比:
context.ass_in_changebill.Where(c =>c.BillId == billId).Delete();
此爲EF對數據庫的自定義函數的支持
好比RemoveModifiedStatus(),用於批量設定Model中不更新的字段。還有EF事務擴展、EF簡單倉儲模式(Repository)等
BL.Open.Core.SQLite Sqlite 基礎類庫
在此類庫中包括:
好比根據C#中的中文字符串查詢時,要讓Sqlite可以查出正確的數據,須要在C#中實現自定義函數。
由於Sqlite數據庫自己功能較弱,因此其餘DB中有的不少數據庫函數都要自定義實現。
BL.Open.Core.WF Winform 基礎類庫
在此類庫中包括:
這是本程序使用的UI框架
BL.Open.WF.WorkAssistant 工做助手 項目庫
項目庫中目錄說明:
具體到業務模塊中,有哪些有價值的東西呢?我想這些內容應該是值得關注的:
EF官方只支持SQL Server, 而對Mysql,Oracle這種大規模數據庫的第三方支持也還比較到位。而對Sqlite這種小型數據庫的支持,則不是很好。本項目解決了EF支持Sqlite中的多個關鍵問題,用起來仍是比較順暢的。
由於使用了EF這種ORM,因此對於DataGridView的使用能夠徹底脫離DataTable,DataSet這種老舊的實現模式,而是採用ORM的實現方式,使用List
只獲取程序
獲取方法:
獲取源代碼
獲取方法:
掃描二維碼關注