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
Hello Agents V1.0.2 (从零开始构建智能体)对于每个应用,请从以下维度(包括但不限于)进行分析: 提示:平台能力是否满足需求,多快能上线,开发成本、运营成本,后续迭代的难度,未来功能扩展的空间 ○ 技术可行性 ○ 开发效率 ○ 成本控制 ○ 可维护性 ○ 可扩展性 ○ 数据安全与合规性 参考文献 [1] Coze - 新一代 AI 应用开发平台. https://www.coze.cn/ [2] Dify - 开源的 LLM 应用开发平台. https://dify ; system_message = """你是一位经验丰富的代码审查专家,专注于代码质量和最佳实践。 你的审查重点包括: 代码质量:检查代码的可读性、可维护性和性能 安全性:识别潜在的安全漏洞和风险点 最佳实践:确保代码遵循行业标准和最佳实践 错误处理:验证异常处理的完整性和合理性 审查流程: 仔细阅读和理解代码逻辑 检查代码规范和最佳实践 end="", flush=True) pass 通过以上步骤,我们就在不修改 hello-agents 库源码的前提下,成功为其扩展了新的功能。这种方法不仅保证了代码的整洁和可维护性,也使得未来升级 hello-agents 库时,我们的定制化功能不会丢失。 7.2.2 本地模型调用 在第3.2.3节,我们学习了如何使用Hugging Face Transformers库在本0 码力 | 633 页 | 58.72 MB | 1 月前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
共 121 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13













