甲方爸爸,大概你要的是代码生成器吧?

1)

有一天,我的朋友Y童鞋分享了他正在做的一个内部开源项目,这个开源项目从外表上看,跟目前市场上那些代码生成器本没有特别大的区别,所以我兴趣并不大。

在他给我介绍了一下具体需求之后,我才体会了他的意思,并提起了那么一丢丢兴趣。。

毕竟,听起来有点“鬼扯”,为啥?因为,他居然试图依靠这个项目来生成”单元测试“。。。。

他:定义好数据库表和结构,然后就生成逻辑方法和代码、以及界面,还同时把“单元测试”代码给生成了,免得程序员要花时间去思考代码逻辑之余,还要想怎么写出可测试代码。

我:这样生成的代码还有灵魂么。。

他:有啊,编写高可测试代码,不就是我辈中人,这些有追求的码农应该实现的目标么?

我:这种模式怎么越看越像埃里克埃文斯大佬说的“Smart UI”模式啊。。

他:你倒这么说,也有那么一点点像。

2)

我:当然,能够生成单元测试倒也可以。毕竟大部分单元测试看起来似乎是一模一样的。无外乎就是“ Arrange\Act\Assert”,AAA操作猛如虎,测试代码一把梭。

他:我这个东西,生成的代码,除了看起来提高了单元测试覆盖率之外,其实,并不能提高代码的质量。

我:是什么逼得你要花时间去开发这样的代码生成器呢?

他:还不是被这班菜鸡开发者们产出的劣质产品闹腾的。我不是想着省测试的钱,又能提高产品的质量么?就自然而然只能靠压榨“程序员”来实现了。但是让我来对这么多人的代码进行审查,还是太难了。这不,用单元测试来操作,不就可以了?

3)

我: 你们太难了。为啥这么赶啊?

他:这不是甲方爸爸要加需求,他说得倒是好:加需求也就几行代码,多简单。但是我们这边,就得忙翻天,太特么累了。

我:那能不能多招几个测试?

他:端到端测试,只是看起来将缺陷扼杀在摇篮而已,实际上。。隐藏在冰山下的缺陷呢。。客户就是小白鼠啊。再说,我们现在家业太小,测试有两个了,再招就请不起了。。功能是不能少的,bug是不能多的,我只能想想单元测试这种办法了。

我:好吧。。我们也一样。。

1)

之前有个朋友老张介绍了一个故事,仿佛跟这个有点类似。他有幸参与了一个交通信息化的项目,这个项目的业主是国企单位,属于“体制内”的企业。

在过去一波有一波的信息化发展过程中,这些体制内的企业仿佛成为了许多IT企业竞相薅羊毛的对象。为啥,国企项目多、钱也不少,关键是国企对软件质量要求不高啊。

许多企业借助国企项目,他们依托所谓“快速上线”的神器,将中华民族艰苦奋斗的精神发挥到了极致,公司能够在最短的时间内,将原本停留在脑海里的软件,快速的转化成为实现,并部署到甲方爸爸的现场环境中。

至于软件的质量、软件的工程化水平,对不起,不重要?用户体验?性能?功能可用性?重要么,不重要。先快速上线回款再说。于是,这些企业获得了业绩的腾飞,老板们赚得盆满簸赢,好不自在。

而且老板们还会吹:我们公司最大的优点,就是在逆境下生存的能力,能够在最短的时间消化需求,做出最符合客户需求的软件。

好吧,仿佛这也是软件工程的一种方向?快速开发。。。。

2)

然后,有那么几年,市场突然间就“做烂“了。
一方面,国家将投资方向重点放在了房地产领域,对信息化的投入也逐渐收紧了许多;
另外一方面,企业过去匆忙上线了太多的软件系统,不同软件系统之间的对接沟通困难,操作过程缺乏连贯性,使得基层员工开始抗拒这些”看似“能够带来效率提升,却容易出现各种质量问题导致自己过去几天工作量返工的所谓”信息化“系统;
另外,大家也都很清楚,效率提升其实带来的是”裁员“,首先被裁的...

总之,有那么一段时间,国企对信息化是“弃若敝屣”的。

1)

但,随着“互联网”和“共享出行”的兴起,又让这个概念重新热炒了起来。

老张他们公司也有幸接到了一个这样的项目,公司还是一家非常大的出租车公司,拥有二十多家子公司,员工超过2万人。这个项目的目的是打通出租车和旅客的关系,借助于手机实现快速出行,同时打通企业内部信息孤岛,让总公司领导能够第一时间看到各种数据的流转情况,为建立科学决策提供依据。

老张被选为这个项目的负责人。在项目启动会上,他意气风发,向业主和公司老板们保证,将带领公司团队与甲方团队一起,以饱满的姿态打响这场战役,为业主的业绩腾飞贡献自己的一份力量。

然而,但项目启动后,他才深刻的明白这究竟是一个怎样的坑。

2)

首先是业主关系,由于业主是一家涉及大几万员工和二十几家子公司的大型集团公司,需要梳理的业务表单非常复杂,业务流程和体系,远比甲方爸爸预想的要复杂得多。

其次是开发周期短,不知从何时起,国企对于软件系统的印象就是“简单、容易、很快就能实现”,仿佛一个需求只要说出来,这般不要命的程序员们就能很快的实现功能。当老张跟他们提到需求太多,根本做不完时,甲方爸爸甚至说:怎么可能有做不出来的软件系统,是不是你能力不行?

再次是外部系统多,由于不同的子公司往往采购了不同的系统,要统一对接到一个系统 。

还有就是涉及的技术点多,需要在许多领域进行专门的技术攻关,由于公司暂时缺乏相关资源,使得开发过程屡屡收到阻塞。

2)

经过长达几个月的需求调研,老张编写了一份超过一千页纸的需求规格说明书,并获得了业主的批准,但项目正式开始时,他却只获得了短短半年的开发周期。此时,他手上能够调动的开发者资源,才不过10余人。

为了干完这个项目,他和项目团队的成员不得不牺牲周末和假期,辛苦坚持了半年,才把项目功能都开发完,但在项目实施环节时,由于子公司与总公司的意见不统一,根本用不起来。

最终,项目崩盘,公司倒闭,甲方将近一年的投入近乎白费。老张和项目团队也白白辛苦了大半年,还得去劳动仲裁,找老板讨薪。

回顾这段时光时,老张说了一段话:

“企业信息服务化的项目,看起来合同工价很高,其实都是坑啊。有的业主,根本不懂什么叫“合适的软件”。

在互联网如此发展的今天,这些业主,要的还是“快速开发”。但凡想到什么就往里面加,程序员不猝死太难了。许多需求今天提,明天就要,但是用了一次呢这些功能就不用了,我根本不知道这些软件,干出来有什么意义。

千万别跟业主提敏捷,他们会在你的每个迭代中塞根本干不完的工作量;也不要提拥抱变化,他们变起脸来,自己都怕。”

仔细想想,许多传统企业领导想上云、或转型到互联网,不就是这样么,恨不能一天就把项目干完,干完项目就“升官发财”,至于项目能不能用,谁知道呢。。

也许,他们要的并不是软件,而是一种“代码生成器”。嗯,输入“甲方爸爸的一万种需求”,输出“一个功能齐全、包容万物、自由变化的软件”。。

作为有追求的码农们,我们能像Robert大叔在《代码整洁之道-程序员的自我修养》一书中写的方法:选择“拒绝”么。

额。。生存要紧。。偶尔吐吐槽,饭还是得恰啊。

企业上云?也许只差一个代码生成器相关推荐

  1. 抖音(8种)标题写法,你与上热门之间只差一个标题!(抖音运营)

    工欲善其事,必先利其器是说:工匠想要使他的工作做好,一定要先让工具锋利.比喻要做好一件事,准备工作非常重要. 8种一学就会的抖音热门标题写法揭秘,你与上热门之间可能只差一个标题! 抖音运营相关文章:抖 ...

  2. 阿里云安全掌门人肖力:企业上云,如何保证安全?| 问底中国 IT 技术演进

    受访者 | 肖力 采访者 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 近日,国家互联网应急中心发布<2019 年上半年我国互联网网络安全态势>,报告显示在 2019 年上半年 ...

  3. 对话富通科技CEO赵伟:企业上云潮下 MSP正步入『黄金时代』...

    诸侯混战,百家争鸣. 这本是形容春秋战国时期特殊历史现象的词汇,在富通科技CEO赵伟看来,形容今天的云计算市场一点也不为过.他认为,现在云市场还远没有达到"互异"."互补 ...

  4. 深度!推动“企业上云”光有补贴不够,还要看这5点

    作者 | 中国软件网 李翘 校对 | 中国软件网 王锦宝 一个月前,阿里巴巴集团发布2021财年第二季度业绩:截至2020年9月30日,云计算业务营收为22.3亿美元,较同年同期的14.0亿美元增长6 ...

  5. 赴一场开源盛会丨10月29日 COSCon‘22 开源年会杭州分会场,这里只差一个「你」!

    报名地址:https://www.bagevent.com/event/8322877 2022年,世界正在改变,开源创造价值.已经办到第七届的开源年会首次来到杭州与开发者们相聚.你眼中的开源是怎样的 ...

  6. COSCon'22@Hangzhou|10月29日这里只差一个「你」!

    COSCon'22 开源社/KAIYUANSHE    业界最具影响力的开源年度盛会 2022 第七届中国开源年会 (COSCon'22) 来啦! 如果你热爱开源.热衷创新 如果你想饱听各路大咖的主题 ...

  7. 云原生架构演进与企业上云

    点击上方蓝色字体,选择"设为星标" 优质文章,及时送达 过去的一段时间和一些架构师 / 技术负责人聊天,云原生和企业上云是最近一段架构演进的一个常见话题,那么小公司到大型公司在上云 ...

  8. B2B专线宽带业务成为企业上云新战场——Vecloud

    在宽带业务市场,运营商的眼光正从家庭宽带接入转向了企业市场的B2B专线服务.在云服务需求的刺激下,更多的企业需要一个简单.快捷.智慧和超宽的专线服务. 云时代的到来让许多企业开始进行数字化转型,预测显 ...

  9. 企业上云,如何做好服务器的安全?

    作者 | 阿文 责编 | maozz 出品 | CSDN(ID:CSDNnews) 随着虚拟化技术的蓬勃发展,近几年云计算产业规模不断壮大,各行业的数据量激增,通过云计算挖掘数据价值,以及企业IT基础 ...

最新文章

  1. UA MATH636 信息论5 信道编码简介
  2. 浅谈 CTR 预估模型发展史
  3. 服务器如何启动运行,如何在服务器系统启动或重新启动时执行命令或脚本
  4. java 微信开发收到乱码,微信公众号发送模板消息中文乱码(java)
  5. HTML标签(持续更新)
  6. Java实现两个csv文件的对比_Java实现CSV文件差异对比
  7. 字定义JSON序列化支持datetime格式序列化
  8. php独立环境的安装:apache php mysql
  9. 第007讲 地图映射,线包字
  10. 【模拟IC】闩锁效应的概念,产生原因,工作过程及解决方案
  11. TMEA:源于音乐,高于盛典
  12. 如何在ppt中插入pyecharts生成的html图表(及可能的报错解决方法)
  13. 高通X12平台XO信号干扰灵敏度的解决方案
  14. android生成将布局生成海报保存并分享
  15. GP6创建tablespace 和GP4的差别
  16. 大数据入门之学习视频资料分享
  17. java并发知识汇总
  18. 【擦哥擦姐的CSDN博客】原创系列博客清单整理【截至2022年9月30日】
  19. Oracle查看表触发器
  20. Nobleman__ ACM 比赛模板 (C++ Java)个人总结 (不断更新) (自用)

热门文章

  1. 编译原理习题(含答案)——2程序设计语言及其文法——哈工大陈鄞配套版本
  2. 我写过的软件之英语句子通
  3. 模拟微信/QQ抢红包,输入金额和份数,产生每一个红包的金额
  4. 遗传算法求三元函数极值(python)-采用二进制编码
  5. 道路分割 matlab,MATLAB图像的道路分割技术研究
  6. 光模块之数通市场代际更迭,100G需求恢复,400G蓄势待发
  7. Acwing 红与黑 献给阿尔吉侬的花束(bfs与dfs新技巧)
  8. 【深度之眼吴恩达机器学习第四期】笔记(七)
  9. 学爬虫,从入门到坐牢需要多久?
  10. 深度学习中学习率和batchsize对模型准确率的影响