程序员的高产之路

版权说明:原创文章转载请注明来源:程序员的高产之路 https://blog.csdn.net/qq_26318179/article/details/106262281

        研发,一个高智商的技术工种,这个行业,拥有的开发大军,已经非常多了,尤其在疫情这样的背景下,作为一个程序员或者一个团队,应该优化自己的技能,提高质量,提高速度.研发的高产,应该保证以下几点,才有意义:

  • 高质量
  • 方便维护
  • 方便扩展
  • 开发速度快

高质量

        作为一个开发者,我做了自己的开发框架,慢慢建立独立的思维方式,有我自己的风格,随着时间的推移,不停的优化,我的框架,质会越来越高,随着不停在实际项目中验证,基础框架的bug越来越少.我是从以下几个方面来做的:

  • 尽量将常用的功能,封装成常用的库,并且不停的优化
  • 尽量前后端保持一致的开发风格
  • 核心部分,尽量通过接口编程,保持一致的接口
  • 框架分层明确,每次写代码,都想清楚,我的这部分代码放在那一层,更合理

方便维护

        在长期的项目维护中,项目分层合理,保持一致的接口,这两个是很重要的

  • 分层合理,每次遇到问题可以在最短的时间之内定位错误位置,迅速找到错误代码,并修复
  • 封装错误库,记录错误链,这样可以通过日志来定位错误
  • 接口一致,可以让我们减少很多跟踪代码执行流程,查找错误的时间

方便扩展

  • 这是开发中经常遇到的问题,每次客户说,我需要增加一个XXX功能,这时候如果你的底层设计不够灵活,往往你就需要改动其他代码了,保持一个整体的思考方法,站在客户的角度,提前思考用户可能的变化,这样我们在设计代码的时候,就可以规避很多问题,往往客户提出修改时,你只要说:这个没问题,我们之前已经考虑过了.瞬间,客户对你的信任值又提升了几个百分点.
  • 在有些项目中,为了方便扩展,我们也会采用接口规范,比如说支付,当前用户只会要求微信支付,可是一段时间之后,突然告诉你,我们现在为了用户方便,必须要接入支付宝,更有甚者,我们要在东南亚运作,必须要接入PayPal,如果你的代码不是接口方式定义的,我相信,出现这种多个支付的,你的脸可能马上就绿了,或者比马的还要长.
  • 还有其他情况,可以增加扩展想,降低项目依赖,比如通过IM通讯,就可以减少很多依赖.也有通过rpc实现不同语言之间的通讯,这些本质上,都是降低耦合,提高项目的健壮性.

开发速度

        这是个亘古不变的话题,效率,尤其是你的老板,总是希望,他要的时候,你就做好,这个是多么美好的愿望:要就可以.(我也希望,看见美女,要就可以.)

我们来算算的时间问题:

  • 数据库字段修改(加上思考时间,5分钟)
  • API修改(往往涉及到多个模块都要修改,15分钟)
  • API运行测试(就算15分钟)
  • 接口文档的修改(10分钟)
  • 后端web(对应接口修改,大概10分钟)
  • 前端(对应代码修改15分钟)
  • 前端打包运行测试(往往需要20分钟不止,如果漏掉某个地方,再来一次,时间更长)
  • 沟通(前后端沟通时间10分钟)
  • 上面的时间如果你觉得多了,实际上还有代码同步,上传测试服务器,上传正式服务器等等,永不止境的工作量等着你.

        这种还不包括修改错误,重复修改,重复运行,这些时间,就已经有100分钟了,这么一来,人生就都在这么简单而又无法避免的工作上浪费掉了,这是理想的情况,每个人都积极的配合修改,不然会有更多的时间被浪费掉

        从去年开始,我就一直在研究,如何采用代码生成器的方式,来减少重复的工作量,这个也是我开发的重点,我把代码生成器作为一个项目来思考;我思考的目标如下:

  • 生成一个可靠稳定的快速启动框架
  • 生成生成一份精美的文档,每次更新代码,自动重建文档
  • 代码生成时,保留手动修改的业务逻辑
  • 当设计错误时,可以直接删除不需要的代码,重新生成
  • 生成前端API部分,前端可以直接开始写UI部分和业务逻辑,不用浪费时间在基础框架的搭建和对接API上,对接API这些应该自动生成

从技术实现层面,我需要思考,以下重点:

  • 如何生成项目文件
    • 对于新文件,这个不是多大的问题,可以通过模板的方式来生成.
    • 对于编辑的文件,有点麻烦,比如路由问题,每次添加,都需要在路由的地方新增一条路由记录,这种在代码生成器上就需要定位
  • 生成项目文件后,如何删除
    • 新文件的删除也比较方便
    • 对于编辑的文件,从中删除部分代码,这个就比较麻烦,需要定位,定位后准确删除不需要的代码
  • 对于代码生成器,如果编辑代码,这个我做了一个长期的积累,形成了一个开发库.

上面只是代码生成的一些技术细节,从去年到现在,随着不断的优化和完善,我的代码生成器,已经实现:

  • golang版的API
  • react的后台
  • vue的手机端
  • flutter的app端(支持Android和iOS)
  • PHP版的API生成正在调试中,预计两三天后可以完成
  • vue的后台正在开发中

我做了一个演示站,通过我的代码生成器生成后,一个字符都没有修改,从API到后端界面全都是自动生成的.生成的flutter APP没有打包,以后空了补上.
演示站账号:admin

演示站密码:123456

自从我把完善了生成器后,做项目对我来说就三个字"轻松了",可以经常可以去喝喝茶,聊聊天.瞬间感觉生活就是这么美好.

版权说明:原创文章转载请注明来源:程序员的高产之路 https://blog.csdn.net/qq_26318179/article/details/106262281
在这里插入图片描述

我的文章给你提供了更好的思路,或者对你有所帮助,你可以请我喝一杯咖啡,你想进行沟通交流,可以加我微信.

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值