一键排班软件开发心得

    前后共用了15天,实现并优化到了自己认为还可以接受的程度!


    开发这款软件完全是为了节省时间,如果没有它,我们值班负责人每个月都需要花费两三个小时去安排六十人的值班任务,搞得身心疲惫,而且重复的事情做多了会烦的!


    一开始在选取语言的时候,果断的选择了C#,而不是VB.NET,因为感觉VB.NET血缘不正统,既有VB的特点,又有面向对象的特征,而且相对C#来说较简单;而C#是根正苗红的面向对象开发语言,也很富有挑战性。

    

    本着能让机器干就不让人干,能让sql干就不让C#干的两条基本准则,围绕着人性化的安排理念,就着手去做了。


    就这样干了十几天,走到了一个岔路口,需要我做出抉择:完善软件功能时碰到了一些问题,而这些问题查查资料肯定能解决,就是需要花费时间;另一条路是利用已有成熟软件去解决。


    比如,上传excel文件直接到数据库,我想手写程序,点个按钮,excel里的数据就动态迁移到了sql中,但是,大家都知道,sql server已经集成了导入excel文件生成表的功能,使用者只要点几下鼠标就能达到目的,同样是省时省力。


    再比方说,写一些代码能够给Excel添加列名、设置字体行高、填充内容等,程序实现了是秒秒钟的事儿,而这打开excel操作也是秒秒钟的事儿


    考虑到程序已经写了有一段时间了,优化是没有尽头的,而且每天还有很多其他任务;

    再想想开发排班软件的初衷是为了节省时间,怎么能让开发占太多时间呢

    其实,归根结底还是技术不够格,因为大牛不会担心时间花费,因为他会的多、能力强,遇到个问题轻轻松松就解决了

    尔后,还想到,这十几天每天都在查资料,一步一个坎,不熟悉的东西太多了,

 

    所以,做了个决定,一些程序可以做到而Excel也可以做的事儿,就让Excel去做吧


    所以现在排个班由原来的人+EXCEL变成了

    SQL+程序+Excel+人,乍一看,像不像工作流?!而且每个对象在时间花费上都是秒或分钟级别的,大家分工协作,让排班高效化!


    就我之后的选择,不再一门心思想着怎么让代码去实现某个已经被别人写好的功能,而是站在别人肩膀上,去使用它的功能,感觉做法还是可取的。做事儿不能钻牛角尖,一条路不好走就换一条。

  

    要时刻保证整体效益最大化,如果我的程序功能实现了,但花费了很长时间,而这原本用Excel秒秒钟就搞定了,那还去研究那个功能干嘛,用研究那个功能的时间学点儿别的多好,这也就是二八原则,100分<<5*80=400分的道理。而且你让程序功能那么完善,是不是职责过重,显得很臃肿……我是不是有点儿吃不到葡萄说葡萄酸,罪过罪过…  


    做事儿要有全局观,不要深究细节,却忘了当时你为什么出发!   


你可能感兴趣的:(软件工程)