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

项目经理如何去拆分复杂项目?

代码的横向分层,维度是根据复杂度来的,可保证代码便于开发和维护
1、因为强类型的原因,把变动大的分到数据库来解决,这是一种后端分离。
2、因为发布难的原因,所以用稳定的引擎来解决问题,然后用数据库配置的方法来解决变动问题。
3、因为复杂sql容易出错的原因,把复杂的sql独立存到数据库,方便后期调试,连热启动都跳过了。
4、读代码的时候,可以从复杂度维度来快速了解项目。

代码的纵向分层,维度是根据业务来的。从业务角度保证代码的可拓展性
1、不同业务对应不同的微服务。
2、微服务之间可以连接不同的数据库,主要是读,比如负责统计的微服务具有读取其他所有微服务的权限。
3、第三方的监控需要交给定时器去扫描监控接口。

关于前后端的交互
没有其他,就是当前端拿到账号权限以后,后端足够的信任前端,可保证开发的速度。都在这里:从代码操作层面解释什么是“面相对象编程”?_众乐乐_2008的博客-CSDN博客

关于测试
1、报错最好显示在前端,便于错误定位。
2、把所有场景都考虑到,一点要做全部场景的全排列。
3、还要分别整理出测试点和测试流程,以测试点为重点,测试流程为验证测试点的辅助而存在。

最后总结:这样不管多复杂的项目,把项目根据纵横的划分,分成一块一块的“小正方形”,然后程序员只负责“填代码”就行了,写项目就显得非常简单。而且项目上线后,一旦出问题都可以非常容易的定位和修改,并且当你读代码的时候,可以根据业务需求和代码复杂度的分层去快速搞懂代码,不会像读框架源码一样不可测和难读。

相关文章:

项目经理如何去拆分复杂项目?

代码的横向分层,维度是根据复杂度来的,可保证代码便于开发和维护 1、因为强类型的原因,把变动大的分到数据库来解决,这是一种后端分离。 2、因为发布难的原因,所以用稳定的引擎来解决问题,然后用数据库配置…...

python二次开发Solidworks:修改实体尺寸

立方体原始尺寸:100mm100mm100mm 修改后尺寸:10mm100mm100mm import win32com.client as win32 import pythoncomdef bin_width(width):myDimension Part.Parameter("D1草图1")myDimension.SystemValue width def bin_length(length):myDime…...

【C++】:类和对象(中)之类的默认成员函数——构造函数and析构函数

1.类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类 空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数 默认成员函数:用户没有显式实现,编译器会生成…...

sqlserver系统存储过程添加用户学习

sqlserver有一个系统存储过程sp_adduser;从名字看是添加用户的;操作一下, 从错误提示看还需要先添加一个登录名,再执行一个系统过程sp_addlogin看一下, 执行完之后看一下,安全性-登录名下面有了rabbit&…...

Monocle 3 | 太牛了!单细胞必学R包!~(一)(预处理与降维聚类)

1写在前面 忙碌的一周结束了,终于迎来周末了。🫠 这周的手术真的是做到崩溃,2天的手术都过点了。🫠 真的希望有时间静下来思考一下。🫠 最近的教程可能会陆续写一下Monocle 3,炙手可热啊,欢迎大…...

基于VCO的OTA稳定性分析的零交叉时差模型研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

大数据Hadoop之——部署hadoop+hive+Mysql环境(window11)

一、安装JDK8 【温馨提示】对应后面安装的hadoop和hive版本,这里使用jdk8,这里不要用其他jdk了,可能会出现一些其他问题。 1)JDK下载地址 Java Downloads | Oracle 按正常下载是需要先登录的,这里提供一个不用登录下载…...

app爬虫中的Airtest元素存在或等待

app爬虫中的Airtest元素存在或等待 一. poco等待 等待无错误 等待元素10秒。如果它没有出现,则不会引发任何错误。 poco(xxx).wait(timeout10)您还可以在.wait()之后执行一些操作,如click或long_click poco(xxx).wait(timeout10).click() poco(xxx).…...

Flink学习之旅:(三)Flink源算子(数据源)

1.Flink数据源 Flink可以从各种数据源获取数据,然后构建DataStream 进行处理转换。source就是整个数据处理程序的输入端。 数据集合数据文件Socket数据kafka数据自定义Source 2.案例 2.1.从集合中获取数据 创建 FlinkSource_List 类,再创建个 Student 类…...

SQL INSERT INTO 语句(在表中插入)

SQL INSERT INTO 语句 INSERT INTO 语句用于向表中插入新的数据行。 SQL INSERT INTO 语法 INSERT INTO 语句可以用两种形式编写。  第一个表单没有指定要插入数据的列的名称,只提供要插入的值,即可添加一行新的数据: INSERT INTO table_n…...

2023年最佳项目管理软件排行榜揭晓!

根据网络数据调查结果显示,今年有77%的组织将效率列为优先事项,而82%的领导人确认投资于新的项目管理和工作管理方案以提高效能。然而随着对价值的重新关注,选择适合的工程项目管理软件变得比以往任何时候都更加重要。好消息是通过对39个主要…...

华为OD DNA序列(100分)【java】A卷+B卷

华为OD统一考试A卷B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入&#xff…...

idea2023配置maven

看过【黑马程序员Maven全套教程,maven项目管理从基础到高级,Java项目开发必会管理工具maven】https://www.bilibili.com/video/BV1Ah411S7ZE?p9&vd_sourceedf9d91e5a0a27db51e3d6d4b9400637 配置的,前提要素配置也在这个课程里有啦&…...

Python 文件打包成可执行文件

打包 要将Python脚本打包成可执行文件,常见的做法是使用PyInstaller或cx_Freeze工具。下面是使用PyInstaller的基本步骤: 使用conda安装pyinstaller (建议) conda install -c conda-forge pyinstaller上面的命令从conda-forge通…...

14-bean创建流程5-初始化和循环依赖

文章目录 1.初始化和循环依赖1.1 初始化步骤1.2 循环依赖问题的产生1.3 如何解决循环依赖问题1.4 解决循环依赖二级缓存即可完成,为什么需要三级缓存1.5循环依赖有时报错1.初始化和循环依赖 1.1 初始化步骤 填充属性执行Aware执行BeanPostProcessor的postProcessBeforeInitia…...

drawio模板以及示例

drawio都能做那些事情和模板示例 你可以使用drawio,并使用drawio提供的扩展模板库和大量的形状库,针对很多不同的工业领域创建不同类型的图表。 针对如下的内容中的所有的图,均可以下载源文件并导入到drawio中再次编辑(供学习者…...

YOLOv8改进实战 | 更换主干网络Backbone(四)之轻量化模型MobileNetV3

前言 轻量化网络设计是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝:移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。分组卷积:将卷积操作分解为若干个较小的卷积操作,并将它们分别作用于输入的不…...

22-数据结构-内部排序-选择排序

简介:每一趟选择最小或最大的一个,排在前面或后面。主要右简单选择排序和堆排序 一、简单选择排序 1.1简介: 每趟选择最小的,放在前面,一次类推,代码思想:两个循环,外循环是趟数&a…...

utf8和utf8mb4字符集

柠檬(图片)派 有个玩家取了个名字,名字里带柠檬的图片。在发邮件的时候,要把玩家名字拼装成json格式,存储在mysql表中。 C代码和python代码处理都是正常的,但是调用pymysql的接口,执行sql写入到mysql时。 pymysql会报错…...

前端学成在线项目详细解析一

学成在线项目 01-项目目录 网站根目录是指存放网站的第一层文件夹&#xff0c;内部包含当前网站的所有素材&#xff0c;包含 HTML、CSS、图片、JavaScript等等。 首页引入CSS文件 <!-- 顺序要求&#xff1a;先清除再设置 --> <link rel"stylesheet" hre…...

R语言机器学习算法快速验证与实战指南

## 1. 为什么需要快速验证机器学习算法在数据科学项目初期&#xff0c;我们常面临这样的困境&#xff1a;手头有清洗好的数据集&#xff0c;但不确定哪种算法最适合解决当前问题。传统做法是逐个实现算法进行比较&#xff0c;但这种方法效率低下且容易陷入"选择困难症&quo…...

保姆级教程:在CentOS 7上从零搭建K8s v1.23集群(含Docker 20.10配置与Flannel网络避坑)

从零构建生产级K8s集群&#xff1a;CentOS 7实战指南与深度避坑手册 当容器化技术成为现代应用部署的标准范式时&#xff0c;Kubernetes&#xff08;K8s&#xff09;作为容器编排领域的事实标准&#xff0c;其学习曲线却让许多初学者望而生畏。本指南专为使用CentOS 7系统的技…...

物联网安全简介

1. 什么是物联网&#xff08;IOT&#xff09; 简单来说就是万物互联&#xff0c;把传统非智能物理设备通过传感器、通信模块、嵌入式芯片接入网络&#xff0c;实现数据采集、远程控制、云端联动的整套体系物联网整体三层架构 感知层&#xff1a;终端设备、传感器等硬件设备&…...

PyTorch 高频面试题

一、 核心概念与张量操作 1. 什么是PyTorch&#xff1f; PyTorch是一个开源的机器学习库&#xff0c;主要用于开发和训练基于神经网络的深度学习模型。其核心特点是动态计算图&#xff08;又称即时执行模式&#xff09;&#xff0c;支持GPU加速&#xff0c;并集成了自动微分功…...

工具调用的错误处理与回退策略

工具调用的错误处理与回退策略 关键词:工具调用错误处理、回退策略、幂等性、熔断降级、重试机制、死信队列、可观测性 摘要:在微服务、AI Agent、分布式系统等场景下,工具调用已经成为业务逻辑的核心组成部分,但网络波动、服务故障、参数错误等问题随时可能导致调用失败,…...

机器学习核心原理与实践指南:从数据到智能应用

1. 为什么机器学习如此迷人第一次接触机器学习时&#xff0c;我被它的"思考"能力震撼了。那是在2012年&#xff0c;我尝试用简单的线性回归预测房价&#xff0c;当模型开始从杂乱数据中发现规律时&#xff0c;那种感觉就像教会计算机"理解"世界。十年后的今…...

终极AWS RDS数据库优化指南:如何快速调整读写IOPS提升性能

终极AWS RDS数据库优化指南&#xff1a;如何快速调整读写IOPS提升性能 【免费下载链接】og-aws &#x1f4d9; Amazon Web Services — a practical guide 项目地址: https://gitcode.com/gh_mirrors/og/og-aws AWS RDS作为一款强大的托管关系型数据库服务&#xff0c;支…...

大语言模型幻觉现象解析与应对策略

1. 大语言模型幻觉现象概述当ChatGPT告诉你"根据爱因斯坦的相对论&#xff0c;人类可以在火星上种植香蕉"时&#xff0c;这就是典型的LLM幻觉&#xff08;Hallucination&#xff09;现象。作为从业者&#xff0c;我亲历过无数次模型一本正经地胡说八道的场景&#xf…...

深度学习中批归一化技术的原理与实践

1. 深度神经网络加速训练的核心挑战在训练深度神经网络时&#xff0c;我们经常会遇到一个令人头疼的现象&#xff1a;随着网络层数的增加&#xff0c;训练过程变得越来越不稳定。这种现象在2015年之前尤为明显&#xff0c;当时的研究者们发现&#xff0c;当网络深度超过某个临界…...

大模型内部的数学世界

从文字到数字,从数字到理解 引言:当你对大模型说"你好" 想象你走进一座巨大的图书馆。这座图书馆里有数十亿本书,每本书都记录着人类的知识。当你走向前台,对管理员说:"你好,请问什么是量子力学?"——管理员听到了你的问题,然后在她的大脑中开始…...