文档章节

提高生产力的2个方法:软件复用和知识库

FansUnion
 FansUnion
发布于 2015/10/22 10:29
字数 1020
阅读 7
收藏 1
说明:这是我的一个分享,本次分享中提到的问题,是一个巨大的命题,偶点到即止。

一、背景与问题
在了解了公司的一些项目(Access、Exchange、知客等),熟悉了公司项目部和测试部等部门的工作之后,结合自己工作和学习中的一些情况,意识到一个值得改进的问题。

工作中的不少时间都是在处理重复性的工作,而这些工作其实可以避免或者大大减少。

比如 开发中的一些极其常见的技术或功能:

a.邮件发送。
b.Excel、PPT、PDF、ZIP等多种格式文件的处理。
c.Web开发环境的搭建,比如Spring+Mybatis等框架的组合和日志等配置。
(不再一一列举,详情见下文)

总之,不同的项目(Exchange和知客),不同的人(KTeam和XTeam),同一个人在不同项目中的所作所为, 不同角色(开发和测试),可以避免应该避免的重复性劳动大量存在,大大降低了生产力。

二、应对之策

1.软件复用

1.1技术类复用


a.邮件发送。
使用JavaMail、Apache Commons-Mail、Spring-Mail、Jodd Mail等库封装好。
这样一来,不同的人、不同的项目,只需要一个类库(jar包)和一个配置文件,就轻轻松松实现了发送邮件的功能。开发省事、测试也省事、维护也省事。

b.文档处理。
Excel、PPT、PDF、ZIP文件的读写,尤其是Excel等报表的下载,几乎每个Web项目都有用到。

c.文件操作。
创建文件、移动文件、删除文件等文件和目录操作,很常见,很通用。
可以使用Jodd等组件,或者对JDK相关类库进行进一步封装,从而减少代码重复。

1.2流程类复用

a.WEB表单的验证。

b.开发环境的搭建和配置。

c.异常处理、日志配置、监控报警。

1.3业务和功能复用

增加、查看、修改、删除、搜索、排序、分页、报表下载、操作日志、上传和下载、权限控制。

2.知识库

2.1知识管理

Add,Update,Remove,Delete,Query

Add:已有经验和知识入库。
Update:更新和完善已有知识。
Remove:遗忘了一些不常用的知识。
Delete:彻底删除过时的知识。
Query:查询才是最主要的目标,应用是目的。
为了提高查询效率,需要建立“索引”。

分类索引:符合大脑思维,符合化繁为简-分而治之的思想。
线性索引:超出人的大脑,只能通过工具来实现,比如百度和Google。

2.2知识分类

技术:框架,语言,工具,类库
业务:行业相关

2.3知识的典型代表
项目经验总结、解决问题的方法和思路、JS和Java组件等。

2.4知识库建设指南

文档化:形成文档。
理论化:理论体系。
实践话:经过验证、能够反复应用。
标准化:做事有参考,提高效率。

三、改变与行动

1.问题很容易解决?
软件复用和知识库这2个对策,对拥有大量人才的公司来说根本不是难事。因为,大量的问题都已经解决,剩下的只是对这些解决问题的方法进行提炼、抽象,方便下次使用。

2.谁去解决?
公司肯定有人比我先知先觉,比我聪明,比我有能力的人肯定有一大把,我只是很奇怪为什么没有人去行动?去改变?

今天,我鼓起勇气,把自己的思考和对策分享下,期待交流…

四、参考资料

原文参见: 提高生产力的2个方法:软件复用和知识库http://FansUnion.cn/articles/2038

相关文章: Web开发的那点事 http://FansUnion.cn/category/se

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

共有 人打赏支持
FansUnion
粉丝 57
博文 858
码字总数 825464
作品 0
丰台
高级程序员

暂无文章

Spring中static变量不能@value注入的原因

今天本想使用@Value的方式使类中的变量获得yml文件中的配置值,然而一直失败,获得的一直为null。 类似于这样写的。 public class RedisShardedPool { private static ShardedJedisPool pool...

钟然千落
36分钟前
1
0
CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部