第1.1章 WEB系统最佳实践 引言

一位本科工程力学背景的程序员,通过自学和实践,从使用特定研发工具到掌握多种编程框架,最终成长为初级架构师,分享了他在IT领域的转型经历和心得,强调了最佳实践的重要性。

我本科学的是工程力学,钱老的专业,07年初跟同学一起自学备考中国科学院软件所研究生,1分之差落榜。07年底再次备考中国科学院软件所研究生,超过分数线40多分,但是复试被淘汰。虽然我当时很想从力学转到计算机,希望在研究生阶段弥补一下自己颓废的大学dota生涯,可惜我自己没有把握好机会。
08年年初工作都很不顺利,直到08年9月的一个来电,让我从此踏上了程序人生。公司不大,但领导+研发都是金蝶软件出生,有自己的研发工具AppEngine,这款软件只需要写伪代码就可以自动转义成可执行的web程序,当时这个技术确实很牛。普元、远光现在还是这个思路。我只看过1个星期的java,但因为逻辑思维尚可,故很快就进入项目中历练。项目以ERP为主,多数也就是业务问题,逻辑思维就可以了,java基础在那段时间没法采用伪代码学习到,可能那时我意识也不够。前端就更不用说了,页面框架采用的是extjs,但更改界面必须通过组件开发人员调整,我是没法改的,能做的就是调整位置。虽然无趣,但是因为初学,解决业务问题我也兴奋不已。
09年有机会给金蝶做一个餐饮集团做人力资源项目,采用是基于EAS的框架,在哪个里面终于看到了接口、抽象类的使用,终于看到了大牛的代码是怎么写的,我一下子觉得学到了不少,因为java编程思想这本书太厚,厚到你不知道怎么在实际中运用。虽然EAS是金蝶优秀的框架,但是他毕竟也封装了很多,采用的C/S架构,哪个时候B/S架构已经流行,C/S已开始过时了。
10年初使用AppEngine在天津武清做封闭式项目,参与的人缘有700多号人,30多加公司,HP采用ABAP做SAP的二次开发,唯智采用GWT做物流,还有其他的公司记不清了,从中我发现很多公司都在尝试各种工具,希望通过工具降低研发成本,快速上线。在哪个年代,这种观点普遍被接收,因为是站在公司角度。
10年底金蝶又研发了Web版的EAS,通过配置自动生成对应的系统界面和后天代码,我又一次做了小白鼠,到重庆去做实验。金蝶派了一个前端开发,在这个项目里面我也只能用哪个工具,凡事设计到样式的调整,我只能让哪位前端开发帮我调整。
11年~12年,我拿着更新版本的AppEngine到一家房地产中介公司做项目,到了12年我觉得外面的程序开发很精彩,不想再使用工具了,到中科软去做人力外包,做财险项目。我发现他们采用的是struts1,20年前的技术,但至少代码还需要调整。每到月末,总经理都得过来教我怎么调整凭证。在中科软呆了2个月,被原公司领导请回去,又回到了房地产中介公司。又用工具重新做了一阵子。
后来赶上系统重构,房地产中介公司自己培养研发人员,采用easyUI的前端框架和SSH的后端框架进行重构。数据库完全照搬,我不认为这是种好的的重构思路。但在那次重构中我听到了一个模板预演,那就是freemarker。他们当时设想通过freemarker来连接数据库自动生成相关的代码,但是没有实际应用。而另外一家做资产系统的公司,采用了filter_likes_name做查询条件的自动解析,此是给我的启发,哦,研发的世界应该是积累最佳实践,而不是通过工具化。因为工具化,完全限制了研发人员的原创力,研发人员除了使用工具,连最起码的基础都不够熟练,被工具化的企业给工具化了。研发虽然是码农,但绝不会被工具奴隶化。
14年7月回武汉,开始做初级架构师,我逐渐将我的思想在实际项目中应用。通过Velocity将最佳实践的前端页面、后端代码形成最佳实践模板,结合设计模式做产生自动化代码的工具类,这样很快就可以将常规通用的良好代码做快速复用。一方面并没有阻碍研发的创造力,一方面也没有限制研发的学习能力,既可以应用互联网上主流网络,也能绕技术持续沉淀。
从14年18年,我们的前端从extjs->easyui->bootstrap->vue,几经迭代都能快速使用。我们的应用框架从SSM->SpringBoot的演进,服务治理框架从Dubbox->SpringCloud的发展,都相当平稳。因为核心思想在于沉淀技术最佳实践,以及与主流技术保持同步。
感谢velocity这样强大的模板预演,也感谢mybatis generator自动化代码生成的启发,我痛恨工具化,我倡导最佳实践。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

warrah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值