前言
今天和大家分享一个效率工具,并分享运行程序和完整源代码。这个工具是辅助管理我自己的日常工作而开发的,从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代替了DataTable。大家可以看到,如何顺畅的实现List数据绑定到DataGridView,它用到了List,BindingList等类。
- 熟悉WeifenLuo UI框架的使用
- 完整的列表窗口 + 数据编辑窗口 的交互方式的经典实现
获得方式
只获取程序
获取方法:
- 扫描下面的二维码,关注微信公众号
- 在后台发送文字 “工作助手”,即可获得程序的下载链接
获取源代码
获取方法:
- 扫描下面的二维码,关注微信公众号
- 将公众号中的同篇文章分享到朋友圈,并对分享后的朋友圈截图(部分截图即可)
- 在后台发送分享的截图,管理员确认后会发送源代码的下载链接
觉得文章有意义的话,请动动手指,分享给朋友一起来共同学习进步。
扫描二维码关注