代码质量管理
文章平均质量分 71
代码质量管理
Lemo`s Studio
这个作者很懒,什么都没留下…
展开
-
代码审核噩梦终结者:自动格式化工具大揭秘
通过引入自动化格式化工具和 Pre-commit Hooks,笔者不仅解决了代码格式不统一的老大难问题,还简化了代码提交流程,大幅提升了代码审核的效率。这一改变使得团队开发者可以更加专注于业务逻辑的开发,而不再被繁琐的格式化问题所困扰。自动化工具的引入无疑是提升团队生产力和代码质量的有力武器。好了,今天的分享就到这里。如果大家有什么想详细了解的,欢迎留言私信交流!!!原创 2024-08-28 11:41:08 · 1114 阅读 · 0 评论 -
对代码质量的思考
现在市场,公司之间的竞争已经到了深水区,基本上你能做的别人也能做,不太可能再有一方拥有压倒性的优势(特别是toB,比如说不太可能出现销售能力很强,反正能拉到单子,光靠这个就建立了势不可挡的壁垒),一定就是在长时间的你追我赶过程中,看谁能在各方面多做好一点点,效率高一点点,在持续的时间累计下积累优势。好的业务代码大部分应该是线性的逻辑,上面的输出就是下面的输入,而不是上下左右各种网状关联,对人脑不友好,这种代码最容易出问题(大部分业务代码可以做到,底层算法为了极致性能,确实会有较多的复杂的网状逻辑)。转载 2023-12-07 11:08:55 · 173 阅读 · 0 评论 -
桌面端平台 API 设计的基本原则
API执行的功能可以很丰富、很强大,但API声明和用法一定要尽量的简单,不能将功能的丰富通过复杂的用法来实现,这会导致API功能不单一,演进不可控。无意义的接口不仅增加了维护的难度,更重要是对于程序的可控性的大大降低,接口也会十分臃肿。功能模棱两可,诸多特殊逻辑的API肯定不是个优雅的API,且会造成功能类似重复的API。API要具备统一的命名、统一的入/出参规范、统一的异常规范、统一的错误码规范、统一的版本规范等。扩展参数应当是便利的,保证后续类似的需求,可以在已有的API上通过兼容扩展的方式实现。转载 2023-10-09 11:50:24 · 167 阅读 · 0 评论 -
C++ 编程必看!超万字深度解析API与ABI兼容性的关键问题
假设你的应用程序引用的一个库某天更新了,虽然 API 和调用方式基本没变,但你需要重新编译你的应用程序才能使用这个库,那么一般说这个库是源码兼容(Source compatible);反之,如果不需要重新编译应用程序就能使用新版本的库,那么说这个库跟它之前的版本是二进制兼容的(Binary compatible)。对于 C++ 平台的应用商店程序,怎样保证平台商店版本更新了,商店里面的应用程序能在不更新的情况下继续使用,就变成了一件十分重要的事情。原创 2023-09-11 16:10:50 · 1618 阅读 · 0 评论 -
git 提交前,自动对提交代码进行静态检测
我们的目标是在开发者 git commit 之前自动进行代码风格检查,如果检查有任何错误,则提交失败。所以这个检查需要是在本地进行的。让错误尽早地消灭在源头。幸好,git 提供了 pre-commit hooks 可以满足我们的要求。git pre-commit 默认是关闭的,打开的方式如下:把本地代码工程中 .git/hooks/ 目录下的 pre-commit.sample 文件重命名为 pre-commit 即可。然后稍作修改如下:#!/bin/sh## An example hook sc原创 2021-08-30 20:50:02 · 4077 阅读 · 0 评论 -
高质量代码度量标准及检测原则
高质量代码的基本原则代码检测的方式代码检查主要问题点说明:图中代码度量指标,用于量化代码质量。如果代码的圈复杂度或认知复杂度过大,可能函数本身实现的过于复杂,或可能因为架构设计过于复杂,导致函数过于复杂。如果函数嵌套过深,说明函数很可能出错,需要仔细进⾏⼈⼯评审,并且函数可能需要重构。如果子类过多,检查⼦类的实现中共同的地⽅,先考虑提出公共的中间⼦类,检查是否可以通过桥接模式、装饰模式、组合模式等结构型模式重构代码。如果模块的扇入过大,说明模块可能是公共模块,需要⼈⼯评审接⼝是否是稳定原创 2021-05-19 14:32:40 · 1647 阅读 · 0 评论 -
cpplint 参数指导说明
格式Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] [--filter=-x,+y,...] [--counting=total|toplevel|detailed] [--root=subdir] [--repository=path] [--lin原创 2021-04-08 13:09:11 · 3050 阅读 · 1 评论 -
cpplint扫描指定文件夹下文件——适配脚本
环境:windows/linux (python2编译器)文件:cpplint_scanner.py —— 执行命令:python cpplint_scanner.pysrc_path.ini —— 配置文件,存储扫描目录说明:生成cpplint.xml于扫描文件根目录中#!/usr/bin/env pythonimport ConfigParserimport os, string, sysprint("==========begin of cpplint check==原创 2021-03-12 17:24:39 · 1162 阅读 · 0 评论 -
C++静态代码分析工具横向对比
1 前言静态代码分析是指无需运行被测代码,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等。统计证明,在整个软件开发生命周期中,30% 至 70% 的代码逻辑设计和编码缺陷是可以通过静态代码分析来发现和修复的。在C++项目开发过程中,因为其为编译执行语言,语言规则要求较高,开发团队往往要花费大量的时间和精力发现并修改代码缺陷。所以C++ 静态代码分析工具能够帮助开发人员快速、有原创 2021-03-08 15:30:40 · 7237 阅读 · 1 评论