Leveraging a Functional Approach for More Testable and Maintainable ROS 2 Code0 码力 | 200 页 | 1.77 MB | 1 年前3
GoFrame框架介绍及设计软件复用的最小粒度应等同于其发布的最小粒度。 ## CCP 共同闭包原则 (Common Closure Principle) 为了相同目的而同时修改的类,应该放在同一个模块中。对大部分应用程序而言,可维护性的重要性远远大于可复用性,由同一个原因引起的代码修改,最好在同一个模块中,如果分散在多个模块中,那么开发、提交、部署的成本都会上升。 CRP 共同复用原则 (Common Reuse Principle) 改进:· 我们只需要了解一个框架的内容变化,而不是数十个模块的内容变化 • 升级的时候只需要升级一个框架版本,而不是数十个模块版本的升级 减轻心智负担,提高模块可维护性,更容易保证各业务项目的模块版本一致性 - 减轻心智负担,提高模块可维护性,更容易保证各业务项目的模块版本一致性 ## 模块化设计-常见问题 虽然框架每一个模块都按照低耦合设计,模块可以选择性引入,但在使用时也得全量下载完整框架代码。 十个模块的内容变化 • 升级的时候只需要升级一个框架版本,而不是数十个模块版本的升级 • 统一的模块化设计可以减少不必要的逻辑实现,提高模块性能及易用性 • 减轻开发人员的心智负担,提高模块可维护性,更容易保证各业务项目的模块版本一致性 ## 统一框架设计-形成技术沉淀 。 ## 组件复用模式 ## 优势 1) 轻便灵活:组件如插件般可随意插拔、拼接、定制,可较好解决 App 和小程序双端的差异性问题,针对差异点双端可以独立实现,提高项目的可维护性。2) 性能较好:页面容器依然是小程序原生组件,如滚动、滑动组件采用原生可减少性能损耗,另外组件分布式 setData 渲染有更好的性能,不会像整页一次性渲染导致 setData 数据量较大影响首屏加载性能。3) ## 劣势 1) 提效有限:组件模式只能复用组件内的代码,代码复用率较低,页面容器、逻辑层、网络层小程序依然要自己维护一份代码。2) 复用组件维护成本高:组件的接口要考虑组件升级迭代的兼容性、可维护性问题,管理不当,容易产生质量隐患。3) 接入成本较高:小程序需要实现 RN 的页面逻辑,然后按照组件接口进行接入,有更高的接入成本。 两组复用模式各有利弊,页面模式复用率高,但是灵活性低、性能欠0 码力 | 738 页 | 50.29 MB | 2 年前3
TiDB 开源分布式关系型数据库字化平台服务。 ## 业务挑战 随着业务发展带来的数据量激增,存放在 Oracle Exadata 一体机数据周期越来越短,分库分表的设计满足不了时效需求,统计分析依赖存储过程,系统的扩展性和可维护性不高。业务高峰时期单机遇到性能瓶颈,故障风险较高,数据同步 T+1 的分析时效不够。 中通快递希望数据库在满足强一致分布式事务的基础上,支持高并发读写,提供灵活的在线扩展能力,并且可以与 Spark 业务需求,支持在线横向扩展,随时上下线存储和计算节点,应用无感知。 • 数据存储周期从 15 天支持到 45 天。 OLTP 和 OLAP 分离,支持更多业务维度的分析。 - 整体架构清晰,可维护性增强,显著降低总体成本。 ### 5.4 零售 # 多点DMall TiDB 助力新零售 “业财一体化” 运营 多点DMall是全球领先的数字零售解决方案服务商,截止2020年7月底,多点DM0 码力 | 58 页 | 9.51 MB | 2 年前3
云原生安全威胁分析与能力建设白皮书(来源:中国联通研究院)种构建和运行应用程序的技术体系和方法论,以 DevOps、持续交付、微服务和容器技术为代表,符合云原生架构的应用程序应该:采用开源堆栈(k8s+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps 支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。 #### 1.1.2 云原生安全 云原生安全作为云原生的伴生技术,旨在解决云原生技 同时维护开源组件的合法使用。 开源组件中的风险检测:开源组件的风险包括安全漏洞、组件可信度、社区活跃程度、漏洞修复状态等。应建立有效的流程机制,对风险进行周期性的检测,及时了解和应对潜在的安全和可维护性风险,以确保系统的稳定性和安全性。 #### 4.1.2 镜像安全 镜像基于特殊文件系统为要运行的容器提供所需的程序、库文件以及运行所需的配置参数等,由于自身特性,在构建完成后则不会被改变,我0 码力 | 72 页 | 2.44 MB | 2 年前3
现代C++ 教程:高速上手C++11/14/17/20附录 2:现代 C++ 的最佳实践 …… 82 常用工具 …… 82 代码风格 …… 82 整体性能 …… 82 代码安全 …… 82 可维护性 …… 82 可移植性 …… 83 ## 序言 ## 引言 C++ 是一个用户群体相当大的语言。从 C++98 的出现到 C++11 的正式定稿经历了长达十年多之久的积累。C++14/17 方法,介绍一些笔者个人的、不是随处可见的、非常识性的最佳实践,并如何保证代码的整体质量。 常用工具 TODO: 代码风格 TODO: 整体性能 TODO: 代码安全 TODO: 可维护性 TODO: 可移植性 TODO:0 码力 | 83 页 | 2.42 MB | 2 年前3
JavaScript 正则表达式迷你书 老姚 - v1.1本章就解决该问题,内容包括: 平衡法则 构建正则前提 准确性 效率 #### 6.1. 平衡法则 构建正则有一点非常重要,需要做到下面几点的平衡: 匹配预期的字符串 不匹配非预期的字符串 可读性和可维护性 效率 #### 6.2. 构建正则前提 ##### 6.2.1. 是否能使用正则? 正则太强大了,以至于我们随便遇到一个操作字符串问题时,都会下意识地去想,用正则该怎么做。但我们始终要提 正则。一般进行验证操作之前,都要经过 trim 和判空。那样的话,也许那个错误正则也就够用了。也可以进一步改写成: /^[\+-]?(\d+)?(\.)?(\d+$/,这样我们就需要考虑可读性和可维护性了。 #### 6.4. 效率 保证了准确性后,才需要是否要考虑要优化。大多数情形是不需要优化的,除非运行的非常慢。什么情形正则表达式运行才慢呢?我们需要考察正则表达式的运行过程(原理)。 正则表达式的运行分为如下的阶段:0 码力 | 89 页 | 3.42 MB | 1 年前1
JavaScript 正则表达式迷你书 老姚 - v1.0本章就解决该问题,内容包括: 平衡法则 构建正则前提 准确性 效率 #### 6.1. 平衡法则 构建正则有一点非常重要,需要做到下面几点的平衡: 匹配预期的字符串 不匹配非预期的字符串 可读性和可维护性 效率 #### 6.2. 构建正则前提 ##### 6.2.1. 是否能使用正则? 正则太强大了,以至于我们随便遇到一个操作字符串问题时,都会下意识地去想,用正则该怎么做。但我们始终要提 分的正则。一般进行验证操作之前,都要经过 trim 和判空。那样的话,也许那个错误正则也就够用了。也可以进一步改写成: /^[-]?(\d)?(\.\)?(\d+$/,这样我们就需要考虑可读性和可维护性了。 #### 6.4. 效率 保证了准确性后,才需要是否要考虑要优化。大多数情形是不需要优化的,除非运行的非常慢。什么情形正则表达式运行才慢呢?我们需要考察正则表达式的运行过程(原理)。 正则表达式的运行分为如下的阶段:0 码力 | 89 页 | 3.42 MB | 1 年前1
[PingCAP Meetup SH 5.26]上海电信微信营业厅 TiDB 实践 v 1.6业务痛点 运维 中间件 稳定性 ## 选择 MyCat TIDB Mysql 分片 ## 选型测试 Mysql 主从分表:活动 延迟 Mycat:进行过 100 张分表处理,复杂度、可维护性高 TIDB:进行生产数据导入和实时同步进行数据测试。当时 beta 版本 ## 上线 数据全量导入 TiDB 用 Syncer 实时同步增量 根据时间敏感度逐步分业务线迁移 2018年3月15日,全平台业务完成切换!0 码力 | 9 页 | 188.20 KB | 1 年前3
共 107 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11













