文档章节

我如何让软件二次开发变简单

 透明的鱼
发布于 2017/05/26 10:12
字数 1420
阅读 7
收藏 0
点赞 0
评论 0

我是一名从事Java开发工作的程序员,公司在准一线城市,成立5年时间,ERP系统开发是公司业务中重要的一部分。前段时间我个人接手了一个ERP二次开发的任务,根据客户的需求对公司已开发的ERP进行改造来满足它的实际应用。前期的开发工作还是比较轻松的,轻车熟路的在现有的ERP功能中,对部分功能进行了删除,添加客户特定的功能需求等,根本不需要编辑大量的代码,开发进度及其顺利,这真是一份美差事!但是随着开发进度的推移,我的噩梦也到来了:

首先,问题出现在构建、部署、测试、修改bug再提交这个过程中,这也是我认为这个任务最耗时间的部分。我将代码在本地MyEclipse中修改完成后,继而打成war包,发送给公司负责部署的同事,他将war包部署发布在测试服务器上,提供地址供测试人员去测试,测试人员将测试后的bug表已Excel形式发送给我,我再对代码进行修改,再打war包。。。这简直是一个死循环。

 

其次,由于大多数客户初期并不知道自己想要的是什么样的ERP,只有在操作试用当中,才会发现他们自己真正想要的是什么,这个客户也不例外。我们将产品发布到外网,供他们试用时,他们几乎是每天都会对功能提出“建设性”意见,这里应该怎么修改,那里应该添加些什么样的功能。因此几乎隔一天都会拿到客户“新需求”,对系统的功能修改,再交付,那段时间的日子不堪回首,客户的要求是真的很多。

再次,偶尔会出现,周末甚至是晚上九十点钟的时候,由于某些限定条件,客户类似于导出Excel按钮失效这样一些小问题的发生(这里各位看客会提出疑问:这样的产品为什么允许给客户使用?因为我们不正规啊,因为客户急需啊,客户并不介意、要跟我们一起推进啊),我都会急匆匆赶回公司,顺带捎上我们的部署大师,没他我给客户部署发布不了啊,整的那段时间他对我敬而远之,最不想接到的就是我的电话。

就这样一直磕磕绊绊的过了一段时间,直到无意中接触到了华为软件开发云,仅仅经过半天的使用,我就被它给彻底征服了。帮我解决了很多的问题,在这里,我也把它推荐给跟我有同样遭遇的你们。

我主要使用的是流水线功能,然后就实现了只操作一次。我是这样做的:

1、通过git将我本地写好的代码上传到软件云的代码仓库中,配置及其简单,使用也很方便,在仓库中的管理也很直观清晰:

2、根据上传的代码建立代码检查任务,目前应该是可以支持Java、js、web、css和C++,对于我来说完全够用,建完是这样的:

3、根据仓库里的代码新建一个构建任务:

六个步骤搞定,so easy!建完效果如下:

4、根据编译构建生成的war包,建立一个部署任务:

只需要五个步骤的操作,轻松了不少:

5、重点来了,建立流水线任务,将之前建立的三个任务添加到流水线当中:

三步建完一个流水线任务,是不是很轻松?接下来的运行就是很简单的了,每次更新代码之后,点击执行即可:

通过流水线的功能,我要做的就是:编写代码,更新到代码仓库,点击流水线任务,有问题就改代码然后再更新仓库,运行流水线,就是这么简单,我不再需要反复去做重复的事情,不再需要去麻烦我的部署的同事。而且代码仓库还可以直接在线编辑代码,对一些小问题,在家就可以修改,然后重新运行构建部署,根本不需要再去公司解决,随时随地解决问题,这是一件很爽的事情。

毫不夸张的说,建立一次自动化流水线服务,受用终生啊!对我工作效率的提高不只是一点点,之前我遇到的那些都得到了妥善解决,自己一个人就可以完全搞定。

现在我已经熟悉了华为软件开发云这个平台,已经可以逐步分出一部分精力转移到其他的工作当中去,因为二次开发已经不再占用我过多的时间和精力。我甚至愿意多接一些erp二次开发的客户需求,因为有了流水线功能,一切信手拈来,老板都夸我能干!

另外,单独使用软件开发云的代码检查功能也不错,有1000条检查规则,凝缩了华为的研发经验在其中,还可以自由组合,再也不用担心我的编码问题了。添加到流水线当中,使流水线如虎添翼。

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 60
码字总数 89417
作品 0
业务配置开发平台 .net core 版 - qMISPlat

qMISPlat 是什么? qMISPlat(业务配置开发平台)是一套基于.net core 2.0、跨平台的,面向开发人员和具有一 定技术水平的业务人员使用的业务配置开发平台。基于此平台您只需通过配置和少量开发...

qMISPlat
04/26
0
0
开源ERP必死无疑?

ERP系统跟操作系统有个非常大的不同,就在于ERP系统不仅仅是一个软件,更多的倾向于是一种管理的工具。而对于操作系统来说,其仅仅是一个软件,所以,LINUX等开源的操作系统可以取得成功,可...

老枪
2009/04/03
896
2
可配置式二次开发平台--devPlatform

devPlatform 是可配置式二次开发平台 (零编程的Web开发实现)。 方案概要 (1) 目标 “可配置式二次开发平台”基于J2EE技术体系与G4Studio,以“配置式(零编程应用程构建)的Web应用程序构建、...

jimyangzhangheng
2015/10/28
3K
3
业务配置开发平台qMISPlat 2.0 产品介绍

qMISPlat是什么 qMISPlat(业务配置开发平台)是一套基于.net core 2.0、跨平台的,面向开发人员和具有一定技术水平的业务人员使用的业务配置开发平台。基于此平台您只需通过配置和少量开发即可...

04/24
0
0
1分钟读懂最火的开源社交引擎—ThinkSNS

基本信息: 产品说明:ThinkSNS 适配类型:所有创业者/企业/网站定制开发/二次开发需求 操作环境:全民创业时代 产品机制:互联网创业=ThinkSNS-创业压力 系统版本:Web+iOS+Android+H5+移动...

灰常人士
2016/05/12
128
0
一个老码农的技术理想

小时候,老师问我,你的理想是什么?我不假思索说是工程师,于是长大之后果然成了工程师。 工作这么多年,一直在思考工程师这三个字的意义,终于有一天恍然大悟,原来就是:用技术手段改进世...

两味真火
2017/05/29
2.2K
7
老&新码农的技术理想

小时候,老师问我,你的理想是什么?我不假思索说是工程师,于是长大之后果然成了工程师。 工作这么多年,一直在思考工程师这三个字的意义,终于有一天恍然大悟,原来就是:用技术手段改进世...

English0523
2015/09/25
0
0
怎样不被坑 关于ERP“二次开发”那些事

ERP厂商经常会有这样的抱怨:起初的几个月进行项目分析和讨论,用户也认可了,ERP系统做出后,结果这时候客户要进行“二次开发”…然后事情就变得复杂跟原先预期距离拉远,最后导致“变质”....

玄学酱
04/16
0
0
老码农的技术理想

小时候,老师问我,你的理想是什么?我不假思索说是工程师,于是长大之后果然成了工程师。 工作这么多年,一直在思考工程师这三个字的意义,终于有一天恍然大悟,原来就是:用技术手段改进世...

oschina
2016/06/08
5.8K
16
[连载]《C#通讯(串口和网络)框架的设计与实现》- 11.调试器的设计

目 录 第十一章 调试器设计... 2 11.1 调试接口... 2 11.2 界面方式调试... 3 11.3 命令行方式调试... 5 11.4 小结... 6 第十一章 调试器设计 SuperIO 框架平台设计、开发完毕后,想把代码编...

唯笑志在
2015/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

32.filter表案例 nat表应用 (iptables)

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例: ~1. 写一个具体的iptables小案例,需求是把80端口、22端口、21 端口放行。但是,22端口我...

王鑫linux
今天
0
0
shell中的函数&shell中的数组&告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

影夜Linux
今天
0
0
Linux网络基础、Linux防火墙

Linux网络基础 ip addr 命令 :查看网口信息 ifconfig命令:查看网口信息,要比ip addr更明了一些 centos 7默认没安装ifconfig命令,可以使用yum install -y net-tools命令来安装。 ifconfig...

李超小牛子
今天
1
0
[机器学习]回归--Decision Tree Regression

CART决策树又称分类回归树,当数据集的因变量为连续性数值时,该树算法就是一个回归树,可以用叶节点观察的均值作为预测值;当数据集的因变量为离散型数值时,该树算法就是一个分类树,可以很...

wangxuwei
昨天
1
0
Redis做分布式无锁CAS的问题

因为Redis本身是单线程的,具备原子性,所以可以用来做分布式无锁的操作,但会有一点小问题。 public interface OrderService { public String getOrderNo();} public class OrderRe...

算法之名
昨天
9
0
143. Reorder List - LeetCode

Question 143. Reorder List Solution 题目大意:给一个链表,将这个列表分成前后两部分,后半部分反转,再将这两分链表的节点交替连接成一个新的链表 思路 :先将链表分成前后两部分,将后部...

yysue
昨天
1
0
数据结构与算法1

第一个代码,描述一个被称为BankAccount的类,该类模拟了银行中的账户操作。程序建立了一个开户金额,显示金额,存款,取款并显示余额。 主要的知识点联系为类的含义,构造函数,公有和私有。...

沉迷于编程的小菜菜
昨天
1
0
从为什么别的队伍总比你的快说起

在机场候检排队的时候,大多数情况下,别的队伍都要比自己所在的队伍快,并常常懊悔当初怎么没去那个队。 其实,最快的队伍只能有一个,而排队之前并不知道那个队快。所以,如果有六个队伍你...

我是菜鸟我骄傲
昨天
1
0
分布式事务常见的解决方案

随着互联网的发展,越来越多的多服务相互之间的调用,这时候就产生了一个问题,在单项目情况下很容易实现的事务控制(通过数据库的acid控制),变得不那么容易。 这时候就产生了多种方案: ...

小海bug
昨天
3
0
python从零学——scrapy初体验

python从零学——scrapy初体验 近日因为一些事情,需要从网上爬取一些东西,故而想通过使用爬虫来顺便学习下强大的python。现将一些学习中遇到的问题记录下来,以便日后查询 1. 开发环境的准...

咾咔叽
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部