开源推荐- 代码管理分析/审查/优化工具

来自

Piranha 过时代码自动重构工具[编辑 | 编辑源代码]

项目简介:Piranha 是一种自动重构过时标识相关代码的工具。在属性文件中指定与标识相关的 API 列表之后,该工具会输入标识名称和预期处理行为,并根据这些来自动重构代码。

项目地址:https://github.com/uber/piranha

onefetch 在终端上展示 Git 项目摘要[编辑 | 编辑源代码]

项目简介:onefetch 是一个命令行工具,可直接在终端上显示有关 Git 项目的信息。它支持近 50 种不同的编程语言。

项目地址:https://github.com/o2sh/onefetch

poetry Python 依赖管理和打包工具[编辑 | 编辑源代码]

项目简介:poetry 是一个包管理和打包的工具。在 Python 中,对于初学者来说,打包系统和依赖管理是非常复杂和难懂的。即使对于经验丰富的开发者,一个项目总是要同时创建多个文件: `setup.py` ,`requirements.txt`,`setup.cfg` , `MANIFEST.in` ,还有最新的 `Pipfile`。

基于此, poetry 将所有的配置都放置在一个 toml 文件中,这些配置包括:依赖管理、构建、打包、发布。

poetry 的灵感来自于其他语言的一些工具: composer(PHP) 和 cargo (Rust) 。

项目地址:https://github.com/python-poetry/poetry

Revive Go 语言代码质量检测工具[编辑 | 编辑源代码]

项目简介:revive 是一个 Go 语言的代码质量检测工具(Linter for Go),具有快速、可配置、可扩展、灵活和美观这些特性,可作为 golint 的替代方案。

revive 为自定义规则的开发提供了一个框架,你也可以定义一个严格的预设来增强开发和代码审查流程。

项目地址:https://github.com/mgechev/revive

Jedi Python 自动补齐和静态分析工具[编辑 | 编辑源代码]

项目简介:Jedi 是一个可以在 IDEs 或者编辑器中使用的 Python 代码自动补齐和静态分析工具。它的历史重点是自动完成,但现在也进行静态分析。 Jedi 好用并且快速。 它比 Python 的所有其他静态分析框架更深入地理解 Python。

Jedi 支持两种不同的 goto 函数。 可以搜索相关的名称并列出 Python 文件中的所有名称并推断它们。 Jedi 理解 docstrings,你也可以在你的 REPL 中使用 Jedi 自动补齐完成。

项目地址:https://github.com/davidhalter/jedi

FBMemoryProfiler iOS内存监测工具[编辑 | 编辑源代码]

项目简介:FBMemoryProfiler是Facebook开源的一款用于分析iOS内存使用和检测循环引用的工具库。

手机设备的内存是一个共享资源。应用程序可能会不当的耗尽内存、崩溃,或者遭遇大幅度的性能降低。当分配了一块内存,并设置了对象之后,如果在使用完了之后忘记释放,这就会发生内存泄露。这意味着系统是无法回收内存并交予他人使用,这也最终意味着我们的内存将会逐渐耗尽。

在Facebook,有很多工程师在代码库的不同部分上工作。这不可避免的会发生内存泄露。当发生内存泄露之后,工程师需要尽快找到并修复它们。一些工具已经可以找到内存泄露,但是它们需要大量的人工干预。自动化可以在不需要更多开发者的情况下,更快的找到内存泄露。为了解决这个问题,Facebook做了一套工具来自动化的处理和修复代码库中的一些问题,这个工具就是FBMemoryProfiler。

这个库显示FBAllocationTracker和FBRetainCycleDetector怎么能一起合作,以及如何在真正的应用程序中使用。

项目地址:https://github.com/facebook/FBMemoryProfiler

ReDex Android 字节码优化工具[编辑 | 编辑源代码]

项目简介:ReDex 是 Facebook 开发的一个 Android 字节码的优化工具。它提供了 .dex 文件的读写和分析框架,并提供一组优化策略来提升字节码。

使用方法很简单: redex path/to/your.apk -o path/to/output.apk

输出后的 output.apk 体积更小,运行速度更快。

ReDex 依赖于 folly, glog, double-conversion, boost 和 zlib, 使用 autoconf/automake 进行构建。

项目地址:https://github.com/facebook/redex

Kythe 源码分析引擎[编辑 | 编辑源代码]

项目简介:Kythe 是 Google 公司的一个源码分析引擎,该项目成立的目的是为了不同程序源代码之间互操作支持的标准和工具,实现语言无关的交换机制,允许操作源代码,包括共建系统、编译器、解释器、静态代码分析、编辑和代码审查等。

项目地址:https://github.com/kythe/kythe