GitHub热点速览:如何编写优雅的代码?

发表时间: 2023-10-30 08:35

又是一期提升开发效率的热点速览,无论是本周推特的检查 Python 语法和代码格式的 ruff,或者是 JS、TS 编译器 oxc,都是不错的工具,有意思的是它们都是 Rust 写的。

此外,还有用来在多个设备间同步文件的 syncthing,配合口型的视频制作工具 video-retalking 都可以去了解下。

选项标准:新发布 | 实用 | 有趣,根据项目 release 时间分类,发布时间不超过 14 day 的项目会标注 New,无该标志则说明项目 release 超过半月。由于本文篇幅有限,还有部分项目未能在本文展示,望周知

1. 本周特推

1.1 Python 开发辅助:ruff

主语言:Rust

New Rust 开发的一款高性能 Python 语法检查器和代码格式化工具。特性:

  • ⚡️ 比现有的语法检查器(如 Flake8)和格式化程序(如 Black)快 10-100 倍
  • 可通过 pip 安装
  • ️ 支持 pyproject.toml
  • 兼容 Python 3.12
  • ⚖️ 与 Flake8、isort 和 Black 完全兼容
  • 内置缓存,避免重复分析未更改的文件
  • 支持自动修复错误(例如,自动移除未使用的导入)
  • 超过 700 条内置规则,包括对像 flake8-bugbear 这样的流行 Flake8 插件的原生重构
  • ⌨️ 为 VS Code 等编辑器提供一手集成
  • 对单一仓库友好,支持分层和级联配置

Ruff 的目标是在整合更多功能到一个共享的接口背后,比替代工具快几个数量级。

GitHub 地址→github.com/astral-sh/ruff

1.2 JS 编译器:oxc

主语言:Rust

如何用 Rust 写个编译器?oxc 是一个适用于 JS 和 TS 的高性能编译器,它用 Rust 构建语法解析器、语法检查器、格式化程序、转译器、缩小器、解析器…

下图为 oxc 在 0.5 秒内完成 4,000+ 文件的语法检查的结果:

GitHub 地址→github.com/web-infra-dev/oxc

2. GitHub Trending 周榜

2.1 UI 组件:fluentui

本周 star 增长数 850+,主语言:TypeScript

Fluent UI 是微软开源的用于构建 Web 应用的工具,包括了 React 组件和网络组件。而 GitHub 的 used by 显示有近 11k 个 GitHub 项目用到了 Fluent UI。

GitHub 地址→github.com/microsoft/fluentui

2.2 电子书阅读器:sumatrapdf

本周 star 增长数:400+,主语言:C

一个 Windows 平台电子书阅读器,虽然名字带有 pdf,但是它不只是 pdf 的阅读器,它还支持 EPUB、MOBI、CBZ、CBR、FB2、CHM、XPS、DjVu 等格式。

GitHub 地址→github.com/sumatrapdfreader/sumatrapdf

2.3 2D 变 3D:Wonder3D

本周 star 增长数:800+,主语言:Python

New 一个跨域扩散模型,可将一张 2D 图片变成 3D 模型。

GitHub 地址→github.com/xxlong0/Wonder3D

2.4 多设备同步:syncthing

本周 star 增长数:700+,主语言:Golang

Syncthing 是一个连续的文件同步程序,它可以在两台或更多的计算机之间同步文件。

GitHub 地址→github.com/syncthing/syncthing

2.5 视频重制:video-retalking

本周 star 增长数:300+,主语言:Python

输入一个人像视频,再指定它的音频,就可以输出一个口型对上的重制视频。

GitHub 地址→github.com/OpenTalker/video-retalking

3. HelloGitHub 热项

在这个章节,我们将会分享下本周 HelloGitHub 网站上的热门项目,HG 开源项目评价体系刚上线不久,期待你的评价。

3.1 iOS 游戏模拟器:Delta

主语言:Swift

这是一款无需越狱、适用于 iOS 设备的游戏模拟器,支持 NES、GBA、Nintendo 64 等游戏。

HG 评价地址→hellogithub.com/repository/a20ae0ca56aa43469145dce0817a24aa

3.2 让网络变差:clumsy

主语言:C

该项目是基于 WinDivert 实现的手动控制 Windows 网络情况的工具,它无需安装下载即用,可用于模拟网络延迟、节流、丢包等。

HG 评价地址→hellogithub.com/repository/874fa3b759b643bba5a1d529c55a6cb6

- END -