软件开发提效攻略

59 阅读2分钟

开发流程图.png

需求分析:

版本迭代:整理需求文档和原型图,每次更改落实到文档和原型

方案设计:

三化原则:组件化 -  同类组件原型复用、标准化 - 交互、逻辑match业界标准、工程化 - 打造自动化&流程化&工程化原型链路

项目搭建:

脚本管理:编写 shell 脚本语言,完成重复性工作

项目管理:Tpad、Jira等看到每个项目的优先级和排期,合理规范研发进度,掌控进度

本地开发:

内部仓库依赖:搭建私有软件源,常用的内部依赖仓库是Nexus 本地开发热更新:前端的 Webpack DevServer、后端JAVA的 JRebel等

代码提交:

代码托管:Gitlab等

本地代码检查:Git Hooks + Husky + Eslint 全链路检查

其他还有代码提交规范、代码review等

打包构建:

CI/CD:即持续集成/持续交付,Jenkins + Gitlab 实现自动化构建、打包、发布

资源分配:

容器管理:K8S统一管理容器,自动分配资源

发布上线:

配置中心:集中管理经常变化的、同时被多个项目使用的配置,如携程的Apollo、阿里的Nacos

监控运维:

监控告警:内部监控报警平台建设,可基于Zabbix等开发

日志平台:Elastic Stack(Elasticsearch + Logstash + Kibana + Filebeat),搭建企业级日志平台

进程监控:自己编写进程监控脚本,或者使用现成的监控程序Supervisor、Monit 等

前端监控:C端页面分析页面性能、UV等,现成的如百度统计、专注错误监控的Sentry、腾讯的Aegis等

技术沉淀:

低代码构建:Google的 App Maker 、微软的Power Apps等

团队知识库:阿里语雀、腾讯乐享、Wiki、Confluence 等

中台建设:被很多系统共用的中间件的集合