zoukankan      html  css  js  c++  java
  • 分享一个效率工具的程序和源代码

    前言


    今天和大家分享一个效率工具,并分享运行程序和完整源代码。这个工具是辅助管理我自己的日常工作而开发的,从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框架的使用
    • 完整的列表窗口 + 数据编辑窗口 的交互方式的经典实现

    获得方式

    只获取程序

    获取方法:

    • 扫描下面的二维码,关注微信公众号
    • 在后台发送文字 “工作助手”,即可获得程序的下载链接

    获取源代码

    获取方法:

    • 扫描下面的二维码,关注微信公众号
    • 将公众号中的同篇文章分享到朋友圈,并对分享后的朋友圈截图(部分截图即可)
    • 在后台发送分享的截图,管理员确认后会发送源代码的下载链接

    ![微信公众号](http://wpimages.bossiot.com.cn/%E5%85%AC%E4%BC%97%E5%8F%B7%E4%BA%8C%E7%BB%B4%E7%A0%81.jpg) 扫描二维码关注
  • 相关阅读:
    Java String字符串补0或空格
    oracle查看当前用户权限
    plsql developer 导出导入存储过程和函数
    扩展jQuery easyui datagrid增加动态改变列编辑的类型
    jQueryEasyUI Messager基本使用
    combox源码解析
    Solr -- Solr Facet 2
    Solr -- Solr Facet 1
    nginx -- 安装配置Nginx
    DOS
  • 原文地址:https://www.cnblogs.com/holyknight17/p/10315706.html
Copyright © 2011-2022 走看看