什么叫防御式编程
防御式编程是一种编程策略,主要目的是提高代码的健壮性和可靠性。它假设任何错误都可能发生,并且在设计和编写代码时采取预防措施以防止这些错误导致程序崩溃或产生错误结果。 以下是一些防御式编程的常见实践: 输入验证:总是验证函数、方法或过程的输入...
防御式编程是一种编程策略,主要目的是提高代码的健壮性和可靠性。它假设任何错误都可能发生,并且在设计和编写代码时采取预防措施以防止这些错误导致程序崩溃或产生错误结果。 以下是一些防御式编程的常见实践: 输入验证:总是验证函数、方法或过程的输入...
最近遇到一个线上bug,访问某特定接口会偶发异常。排查日志发现是在操作mongodb时报错,错误信息如下: error message: command failed with error 251 (nosuchtransaction): ...
背景 spdlog 是一个快速、异步的、header-only 的 c 日志库。它提供了简单易用的 api 并具有高性能和可扩展性。 下载和使用 下载 spdlog 库下载地址:github 链接 hello world 在使用时只需要...
概述 在许多场景中,我们需要验证用户输入的数据是否有效,或者是从文本中提取指定的数据,相对于qstring的一些函数,qt提供了一个更加强大的类—qregexp。 基本使用 matchedlength() :匹配的长度 capturedte...
背景 在 c 中使用一个可调用对象构造一个 std::thread 对象,即可创建一个线程。在创建 thread 对象以后,要在随后的某个地方显式地调用 join 或 detach 以便让 std::thread 处于不可联结状态。 s...
相机模型 相机模型就是用数学的方式描述了一个真实世界中的三维点到图像上像素坐标的映射关系。 前言 成像既然是用来描述真实的相机镜头的投影关系,那么必然理论跟现实就会有差距。因此,研究者设计了不同的成像模型来描述不同镜头的投影关系。也可以根据...
1. 基本概念 空间中的子空间: 一般而言,空间(维度>2)都存在更低维的子空间。比如二维空间中一维子空间,也就是直线;三维空间中的一维子空间和二维子空间,也就是直线和面。 空间和子空间的映射:我们将二维空间表示为(x,y),当y=0...
动态ip(dhcp)、静态ip、拨号(pppoe)三种上网设置区别 一、动态ip(dhcp) 动态ip上网,又叫做dhcp上网、自动获取ip上网。动态ip这种上网方式,在未使用路由器的情况下,只需要把这根宽带网...
目录 前言 并发编程 junit框架 重构策略 1. 注释 2.函数 3.一般性问题 3.java和名称 5.测试 前言 本文是《代码整洁之道》读书笔记的下篇,聚焦于并发编程、实战之junit框架重构和重构策略。 上篇地址为: >&g...
目录 整洁代码重要性 有意义的命名 函数 注释 格式 对象和数据结构 错误处理 边界 单元测试 类 系统 迭进 总结 推荐一本书:罗伯特 c. 马丁的《代码整洁之道》。 组内最近在强调研发意识,即对线上有一颗敬畏之心: 营地意识:让代码比你...