Atitit 效率提升法细则 v3 t028.docx Atitit 提升效率细则 目录 1. 目标 2 1.1. 配置化增加扩展性 尽可能消除编译 方便增加 调整业务逻辑 2 1.2. 统一接口

Atitit效率提升法细则介绍了通过配置化、动态化、利用现有机制等方式提升软件开发效率的方法。涵盖语言级别从5G到2GL的选择、业务逻辑的脚本化、数据库配置化使用、数据传输与存储优化等,旨在简化流程、提高开发速度。
部署运行你感兴趣的模型镜像

Atitit 效率提升法细则 v3 t028.docx

Atitit 提升效率细则

 

目录

1. 目标 2

1.1. 配置化增加扩展性 尽可能消除编译 方便增加 调整业务逻辑 2

1.2. 统一接口(参数传递完整化,同时附加传递xml selectid) 2

1.3. QL动态通用化,消除mybatis内大量的查询与简单操作类似sql 2

1.4. 尽可能消除部署 2

1.5. Scheme free 3

2. 提升语言级别4gl 4.5gl 5G 3

2.1. 语言开发效率与可读性级别表 3

2.2. Sql,存储地方可选择放在mybatis xml 或者数据库sp(可以免部署),都可以实现免编译目标,配置化 3

2.3. 业务逻辑尽可能使用4gl(比如sql 工作流 规则引擎等类似东东) 3

2.4. 业务逻辑适当的使用脚本3.5g等实现 3

3. 动态化 统一化 适当抽象化 4

3.1. 动态语言 适当的使用脚本(js php xml sql等) 4

3.2. 动态接口 ,统一接口 4

3.3. ,动态对象 4

3.4. servless模式 4

4. 利用现有机制配置化 5

4.1. 利用Mybatis实现业务逻辑配置化(脚本化工作流模式) 5

4.2. 多利用数据库  view sp 触发器等机制实现配置化 5

4.3. 多利用数据库user与权限配置机制实现权限配置 5

4.4. 多使用数据库的各种约束校验机制 unique索引,外键,触发器 约束等机制 5

4.5. 多使用数据库定时器 5

4.6. 跨库调用,可以把次模式看成看成一个调用socket非文本模式接口即可( 通过数据库驱动) 5

4.7. 使用脚本实现配置化 5

4.8. 多利用数据库报表功能 5

5. 前后端数据查询操作语言QL 5

5.1. 自定义QL  4.5g 5

5.2. Jpql不错 替代rest的一个选择 6

5.3. 受限sql 6

5.4. Apijson等 6

6. 设计简化 6

6.1. 简化流程与层次 6

6.2. 客户端直连数据库,瘦服务端 6

7. 数据传输与存储层面的优化 6

7.1. Scheme free模式 多使用nosql  json 半结构化数据 6

7.2. Mysql5.7以上可多多 使用json数据 6

7.3. 子母表设计可使用json集合模式等 6

7.4. 适当的反范式设计 6

8. 优先选择最简单方案(高中低三挡方案定制) 7

9. 使用java js来扩展sql 与mybatis 7

9.1. 使用mybatis提供的ongl调用java 7

9.2. 使用自定义event模式来进行 7

10. 问题 7

10.1. 复杂业务与多语句的问题 7

 

 

 

  1. 目标
    1. 配置化增加扩展性 尽可能消除编译 方便增加 调整业务逻辑

查询与简单数据操作直接QL解决

复杂逻辑可以通过脚本 sql 或类似工作流 逻辑引擎的东东来消除

    1. 统一接口(参数传递完整化,同时附加传递xml selectid)

避免散落在多处,实现业务层接口统一化

    1. QL动态通用化,消除mybatis内大量的查询与简单操作类似sql

实现数据层接口统一化

综合流程

综合数据类业务查询操作实践

JPQL》>jpql AST》 转换为sql ast 》转换为sql ,执行,返回数据

 

    1. 尽可能消除部署

Webdav远程编辑器模式 + sp

    1. Scheme free

 

  1. 提升语言级别4gl 4.5gl 5G

 

    1. 语言开发效率与可读性级别表

 

语言级别

具体实现

范例(分组查询操作日志)

5g

 

完全自然语言实现

查询操作日志表,按照人员id分组,然后统计每个人的操作次数

4.9g

 

基本自然语言,可用注解标识出精确化归一化,方便解析识别构造AST

@q查询@t操作日志表,按照@grp(人员id)分组,然后统计每个人的@sum操作次数

4.5g

 

 受限自然语言(ql语法)

比较严格的NL自然语言语法

查询(操作日志表).按照分组(人员id).获取(人员id,记录条数)

4gl

 

 (mybatis xml ,sql 工作流  规则引擎等 )

Select 人员id,count(id) From 操作日志表groupby 人员id

3.5

各种script (js python Php等)

 

3gl

Java net c# golang等编译型语言

 

2gl

C c++类

 

1gl

Asm汇编

 

 

    1. Sql,存储地方可选择放在mybatis xml 或者数据库sp(可以免部署),都可以实现免编译目标,配置化
    2. 业务逻辑尽可能使用4gl(比如sql 工作流 规则引擎等类似东东)  
    3. 业务逻辑适当的使用脚本3.5g等实现

 

  1. 动态化 统一化 适当抽象化
    1. 动态语言 适当的使用脚本(js php xml sql等)
    2. 动态接口 ,统一接口
    3. ,动态对象 
    4. servless模式

 

  1. 利用现有机制配置化
    1. 利用Mybatis实现业务逻辑配置化(脚本化工作流模式)
    2. 多利用数据库  view sp 触发器等机制实现配置化
    3. 多利用数据库user与权限配置机制实现权限配置
    4. 多使用数据库的各种约束校验机制 unique索引,外键,触发器 约束等机制
    5. 多使用数据库定时器
    6. 跨库调用,可以把次模式看成看成一个调用socket非文本模式接口即可( 通过数据库驱动)
    7. 使用脚本实现配置化 

 sql 或类似工作流 逻辑引擎的东东来消除

    1. 多利用数据库报表功能
  1. 集成化
    1. Wolrd excel等
    2. 少量数据情况下直接集成化excel,免得开发ui与crud概念,只需要读取就可以了
    3. 直接json配置化通用配置化等
    4. 多使用proper配置化文件 与ui集成
  2. 前后端数据查询操作语言QL
    1. 自定义QL  4.5g

1.2.效果概览

 

查询表格(操作日志表),条件( 操作人=小新),and(时间=2018),排序(时间),翻页(页数=7,每页=50)";

 

经过全面的解析,转换为sql

SELECT * FROM 操作日志表 WHERE 操作人 = '小新' AND 时间 = '2018' ORDER BY 时间 LIMIT 50 OFFSET 300

    1. Jpql不错 替代rest的一个选择
    2. 受限sql
    3. Apijson等
  1. 设计简化
    1. 简化流程与层次
    2. 客户端直连数据库,瘦服务端

特别是管理类系统(包括web系统后台管理系统),可以不用中间层中转。。直接客户端收发sql, 业务逻辑也可放在客户端处理。瘦服务端

 

  1. 数据传输与存储层面的优化
    1. Scheme free模式 多使用nosql  json 半结构化数据
    2. Mysql5.7以上可多多 使用json数据

数据库 nosql mongodb 直接json 对用redis

    1.  子母表设计可使用json集合模式等
    2. 适当的反范式设计

范式设计主要是为了减少数据冗余,对存储空间简约有帮助,时过境迁,今天存储已经很便宜。。适当的反范式设计同时也可提升性能与开发效率

 

 

  1. 优先选择最简单方案(高中低三挡方案定制)

根据团队规模,公司规模,项目需求来定制方案完善

语言选择java net js python php xml sql等

比如微服务的nginx模式,dobbo模式,springcloud模式多种实现方案

数据分片的 msql oracle实现模式,读写集群,分区机制模式,分库,数据库中间件模式

Share jdbc mycat等

大公司的解决方案慎用,绝大部分不适合中小公司,过重

 

  1. 使用java js来扩展sql 与mybatis
    1. 使用mybatis提供的ongl调用java
    2. 使用自定义event模式来进行

可支持sp里面调用

 

 

  1. 问题
    1. 复杂业务与多语句的问题

处于安全考虑,复杂业务多语句放入后端,第一条语句作为触发机制,然后可以使用触发器级联下级sp业务。。这样就解决了jpql处理复杂业务的问题

 

或者使用mybatis调用 selectid 解决得了。。

也可以窜入sp id,直接调用,免部署

您可能感兴趣的与本文相关的镜像

Wan2.2-T2V-A5B

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

内容概要:本文介绍了一个基于冠豪猪优化算(CPO)的无人机三维路径规划项目,利用Python实现了在复杂三维环境中为无人机规划安全、高效、低能耗飞行路径的完整解决方案。项目涵盖空间环境建模、无人机动力学约束、路径编码、多目标代价函数设计以及CPO算的核心实现。通过体素网格建模、动态障碍物处理、路径平滑技术和多约束融合机制,系统能够在高维、密集障碍环境下快速搜索出满足飞行可行性、安全性与能效最优的路径,并支持在线重规划以适应动态环境变化。文中还提供了关键模块的代码示例,包括环境建模、路径评估和CPO优化流程。; 适合人群:具备一定Python编程基础和优化算基础知识,从事无人机、智能机器人、路径规划或智能优化算研究的相关科研人员与工程技术人员,尤其适合研究生及有一定工作经验的研发工程师。; 使用场景及目标:①应用于复杂三维环境下的无人机自主导航与避障;②研究智能优化算(如CPO)在路径规划中的实际部署与性能优化;③实现多目标(路径最短、能耗最低、安全性最高)耦合条件下的工程化路径求解;④构建可扩展的智能无人系统决策框架。; 阅读建议:建议结合文中模型架构与代码示例进行实践运行,重点关注目标函数设计、CPO算改进策略与约束处理机制,宜在仿真环境中测试不同场景以深入理解算行为与系统鲁棒性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值