前言
今天和大家分享一個效率工具,並分享運行程序和完整源代碼。這個工具是輔助管理我自己的日常工作而開發的,從06年開始開發第一版,已經持續使用十多年,現在仍然在使用和改進中,這說明這個工具本質上是有效的,所以才能一直堅持使用和優化。
在最近,我又用C#和Winform進行了重寫。本來我想用WPF或者Electron重寫,這樣能把界面做的漂亮一點,或者能實現跨平台。但因為工作繁忙,確實難以抽出很多時間。最后從實用的角度考慮,還是用傳統的技術重寫了。
此工具經過多個版本的迭代,一直在做減法,把非核心的的功能都砍掉了,只保留了三個功能:任務管理、工作日志、謹言警句。
工具歷史
此工具最初是我在部門經理崗位上開發的。因為平時既有開發工作,也有些管理工作,很多事情比較雜,比較細。后來我又到了產品經理的崗位上,溝通的事項更多。它曾經的功能就比較復雜,包含了:計划、任務、績效、便簽、控制、日志等功能。

但這么多年下來,在不斷的使用中,做了多次改版。我確實發現了做一個“產品”的真理:“少即是多”。不管原來開發的功能多細致,一般在我到了新的崗位上以后,可能大部分功能都逐漸不再用了。因為工作內容變化了,所要使用的效率工具也會隨之變化。因此能長期一直伴隨你使用下來的功能,才是你的核心需求。這也說明,產品如果只是功能的堆疊,而非核心需求的功能,終究會逐漸被淘汰。
也基於這種想法,從第二版開始,我逐漸做減法,回歸核心的需求,將邊邊角角可以用其他工具配合的功能都撤除了。
最新用C#重寫,只保留了三個十多年來一直在使用的核心功能:
- 工作任務
工作任務采用了四象限工作法,將工作內容分為:重要&緊急,重要&不緊急,緊急&不重要,不緊急&不重要。
- 工作日志
強制每一小時填寫一次工作日志,每天可回顧和總結自己的工作內容。
- 謹言警句
人的成功不只在於努力,而在於觀念,更在於習慣。努力終會松懈,而習慣才是可以持之以恆的。所以一些智慧的句子,可以記錄下來,系統進行輪播,每半小時播放一條,讓好的觀念反復播放,植入你的大腦,讓習慣成自然。
新版本功能

任務管理
任務管理的分類非常重要,經過我自己的實踐,我覺得四象限工作法是比較有效的方法。在此模塊中,我也特意標注了各象限中的任務類型應該采取的相應處理策略(個人理解管理學者的觀點后自我總結的):
- 重要&緊急:關鍵詞是 “高效處理”
- 重要&不緊急:關鍵詞是 “及時計划”
- 緊急&不重要:關鍵詞是 “快速處理”
- 不緊急&不重要:關鍵詞是 “可以不處理”
記錄的功能本身很簡單,甚至沒用什么功能強大的編輯器,因為這並不重要,重要的是工作方法。根據四象限工作法,合理分類安排自己的工作任務,完成工作后從各自分類里刪除任務即可。
任務管理是常用功能,在程序最小化時會隱藏到系統右下角成為托盤圖標(點擊托盤圖標,可重新打開程序),或者點擊浮動窗上的第一個按鈕,也可重新打開程序。

在系統啟動后,浮動窗會顯示在顯示器的右上角。
工作日志

工作日志模塊提供了日志錄入、查詢和分析功能。
對於日志的錄入,系統提供了兩種渠道:
- 系統定時錄入
每一小時系統強制要求錄入,不填寫日志內容不能關閉。可輸入項目有:日志內容,工作評價,工作效率(0-100間的數字)。日志內容必填,其他選填。

輸入好后,可按組合快捷鍵 Alt+S 保存。
- 通過浮動窗臨時記錄
可點擊浮動窗的第二個功能按鈕,臨時記錄日志。記錄完成后,下一次自動記錄的時間調整為1小時后。

謹言警句

此模塊提供警句的維護、輪播功能:
- 可增加,修改,刪除記錄
- 可設定記錄的輪播排序值
- 可設定記錄是否顯示(是否排入輪播列表)
警句會按順序自動輪播,每30分鍾播放一條。警句播放后可手動關閉,不關閉的話1分鍾后自動關閉。出現在屏幕上的位置隨機。

浮動窗、托盤、自啟動
為了提供使用交互的方便性,程序提供了浮動窗和托盤圖標功能:
- 系統啟動后即打開浮動窗,浮動窗在屏幕的右上角

浮動窗的左側 || 可按住拖動調整浮動窗的位置;右側有兩個按鈕,分別是:打開任務管理,和記錄工作日志。
- 程序最小化時,程序會自動收入到屏幕右下角托盤區,點擊托盤圖標可重新打開程序

- 此工具作為日常常用工具,可設置為隨電腦自動啟動,設置方法為:打開系統菜單的設置窗口,勾選“開機自啟動”后保存


注意:如果是Win10系統,需要將程序以管理員身份運行,才能成功設置為自動啟動。

講到這里,工具的功能已經講完了。如果對源代碼不感興趣,但對此工具有興趣的朋友,可直接滾動到文章末尾,掃描二維碼關注微信公眾號,然后在后台回復“工作助手”,可獲得程序的下載鏈接。
程序如何運行?
- 程序為綠色軟件,解壓后可直接雙擊運行文件:BL.Open.WF.WorkAssistant.exe,或者以管理員方式運行(如上圖)
- 只支持Window系列操作系統,Mac,Linux下不能使用
- 此工具所有功能都在電腦端,適合長時間使用電腦工作的朋友,如果不常用電腦工作,那可能用處不大
程序源代碼
下面是程序員關心的內容。
本程序由5個項目構成。4個基礎類庫項目 + 1個Winform項目。4個基礎類庫是從公司產品框架中分離出來的基礎類庫,是很有實用性的基礎類庫代碼。

BL.Open.Core 核心類庫
在核心類庫中包括:
- Aspose.Cells 封裝
- EmitMapper 封裝
- log4net 封裝
- 分頁功能
- 常用類型擴展
- 模型(Model)擴展
BL.Open.Core.EF EntityFramework6.0 基礎類庫
在此類庫中包括:
- EntityFramework.Extended 擴展
支持直接更新到數據庫的語法,而不是EF的先提取再提交,比如:
context.ass_in_changebill.Where(c =>c.BillId == billId).Delete();
- CodeFirstStoreFunctions 支持
此為EF對數據庫的自定義函數的支持
- EF的功能擴展
比如RemoveModifiedStatus(),用於批量設定Model中不更新的字段。還有EF事務擴展、EF簡單倉儲模式(Repository)等
BL.Open.Core.SQLite Sqlite 基礎類庫
在此類庫中包括:
- 對Sqlite的中文支持
比如根據C#中的中文字符串查詢時,要讓Sqlite能夠查出正確的數據,需要在C#中實現自定義函數。
- 提供了一批Sqlite自定義函數
因為Sqlite數據庫本身功能較弱,所以其他DB中有的很多數據庫函數都要自定義實現。
BL.Open.Core.WF Winform 基礎類庫
在此類庫中包括:
- 引入了WeifenLuo UI框架
這是本程序使用的UI框架
- 一些UI自定義控件
- 常用數據庫控件的擴展,比如DataGridView,ListView的功能擴展
BL.Open.WF.WorkAssistant 工作助手 項目庫
項目庫中目錄說明:


具體到業務模塊中,有哪些有價值的東西呢?我想這些內容應該是值得關注的:
- 本項目中,使用EF可以順暢的操縱Sqlite數據庫
EF官方只支持SQL Server, 而對Mysql,Oracle這種大規模數據庫的第三方支持也還比較到位。而對Sqlite這種小型數據庫的支持,則不是很好。本項目解決了EF支持Sqlite中的多個關鍵問題,用起來還是比較順暢的。
- 新的數據綁定模式
因為使用了EF這種ORM,所以對於DataGridView的使用可以完全脫離DataTable,DataSet這種老舊的實現模式,而是采用ORM的實現方式,使用List
- 熟悉WeifenLuo UI框架的使用
- 完整的列表窗口 + 數據編輯窗口 的交互方式的經典實現
獲得方式
只獲取程序
獲取方法:
- 掃描下面的二維碼,關注微信公眾號
- 在后台發送文字 “工作助手”,即可獲得程序的下載鏈接
獲取源代碼
獲取方法:
- 掃描下面的二維碼,關注微信公眾號
- 將公眾號中的同篇文章分享到朋友圈,並對分享后的朋友圈截圖(部分截圖即可)
- 在后台發送分享的截圖,管理員確認后會發送源代碼的下載鏈接
 掃描二維碼關注
