当前位置: 首页 > news >正文

磨刀不误砍柴工-流程梳理

 这是学习笔记的第 2007 篇文章


  昨天开始写一个数据逻辑,整体来说就是对于数据生命周期的管理,如何做到系统化管理,而且对于数据库的侵入性最小。 通常来说,我们会投入较多的时间来逻辑开发部分,然后不断的迭代,得到一个初版的内容,但是不可否认,流程梳理是一个很关键的部分。

   前期的设计和调研占用了大概70%的时间,而留下来开发的时间就相对紧张了。从昨天开始的时候按照设想,可能开发的时间会快一些,因为对Shell还算熟悉,所以一些基本的逻辑就用Shell来写了,在逻辑的整合过程中,发现了其他的逻辑部分,东一块西一块,结果写着写着就发现Shell的瓶颈了,所以一些复杂的逻辑部分又用Python来写了。

    而这个过程中也是不断的调整,先为了实现功能,导致代码比较臃肿,而且存在不少重复的代码,从调试的情况来看,比预计的要慢了许多。 

    今天来到公司,我先耐着性子开始梳理整个流程,然后在梳理的过程中把一些共性流程整合,在这个过程中,也发现了原来不清晰的地方。之前的进度算是20%左右,梳理后开始专心先写接口,然后按照接口的内容和规范进行完善,把现有的代码融入到这些接口当中。看起来是一件很常规的事情,但是从我的感受来说,在整合的过程对效率的提升是非常有效的,首先就是逻辑的解耦,逼着我把有的多种脚本组合整合为统一的处理方式,比如统一使用Python来开发,通过一些选项来实现动态的数据抽取逻辑。 

后端代码层面也比原来更加清晰,每一个部分都可以很快的进行数据测试了。 

   如下就是一个今天梳理的流程逻辑。 

640?wx_fmt=png

蓝色的部分是一些变更的类型划分,从流程上来看每一个部分都更加可控,快到下班的时候,逻辑的70%以上的内容就开发完了。

 下次继续跟进的时候打开流程图就能很快定位到逻辑相关的部分。

经过这样的整合方式之后,对于原来的原型设计也可以更加清晰,比如这里我引入了热点表,变更频率等,后期打算根据这些因素来融入回归分析的方式 ,打算借着这个机会分析一下手头的几百套环境,通过数据分析来得到一些更有价值的信息。 

640?wx_fmt=png

640?

相关文章:

  • 一个MySQL连接问题的优化过程
  • 认知的偏差
  • 迁移到MySQL的架构演进(一)
  • K-Means算法原理和简单测试
  • 如何让你的工作能够大量输出
  • 数据生命周期管理的初步实现
  • MySQL分布式高可用的一个补充
  • MySQL锁
  • 难忘的三件苦差事
  • 千与千寻,真是一部给大人看的动画片
  • 聊聊高考分数线和选择
  • MySQL中间件的连接错误问题排查
  • 一次宕机问题的总结复盘
  • 所谓简单的事情
  • 数据分析上千部动漫作品
  • 2017-08-04 前端日报
  • cookie和session
  • es的写入过程
  • golang中接口赋值与方法集
  • 多线程事务回滚
  • 机器学习中为什么要做归一化normalization
  • 跨域
  • 那些被忽略的 JavaScript 数组方法细节
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 如何选择开源的机器学习框架?
  • 我是如何设计 Upload 上传组件的
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • 我们雇佣了一只大猴子...
  • 移动端高清、多屏适配方案
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • #HarmonyOS:基础语法
  • (11)MATLAB PCA+SVM 人脸识别
  • (175)FPGA门控时钟技术
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (k8s中)docker netty OOM问题记录
  • (SpringBoot)第七章:SpringBoot日志文件
  • (第61天)多租户架构(CDB/PDB)
  • (二)fiber的基本认识
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (三)docker:Dockerfile构建容器运行jar包
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)视频码率,帧率和分辨率的联系与区别
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .equals()到底是什么意思?
  • .net core 6 redis操作类
  • .Net CoreRabbitMQ消息存储可靠机制
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET大文件上传知识整理