未提供项目描述
项目描述
Craftier
___ ____ __ ____ ____ __ ____ ____ (pre-α)
/ __)( _ \ / _\ ( __)(_ _)( )( __)( _ \
( (__ ) // \ ) _) )( )( ) _) ) /
\___)(__\_)\_/\_/(__) (__) (__)(____)(__\_)
Your personal Python code reviewer
是什么?
Craftier是一个用于轻松编写Python代码重构的框架。在不久的将来,它还将附带一组预定义的重构规则。
它基于libcst
,并通过让您通过编写Python代码来编写重构来简化其API的使用。
它还通过添加必要的括号来保留相关注释,并确保修改后的代码正确无误。
入门
使用pip install craftier
安装后,您可以使用craftier refactor <python files>
运行默认规则。
配置
默认情况下,我们寻找.craftier.ini
文件,如果没有找到,将使用默认配置。
您还可以使用--config CONFIG_PATH
指定配置文件。
配置格式
[craftier]
packages=craftier.refactors,
excluded=A,
B
编写自己的规则
就像这样
import craftier
class SquareTransformer(craftier.CraftierTransformer):
def square_before(self, x):
x * x
def square_after(self, x):
x ** 2
class IfTrueTransformer(craftier.CraftierTransformer):
def if_true_before(self, x, y):
x if True else y
def if_true_after(self, x):
x
待办事项:编写有关自定义匹配器和类型声明的说明
路线图和待办事项
- 在转换器中支持多个表达式
- 添加对语句的支持
- 完整重构集
- 支持输入元数据
- 根据表达式生成RE2过滤。这可以用来预先过滤文件列表,并在代码库搜索工具(如https://grep.app)中测试模式。
- 广泛的验证测试
局限性
这是一个正在进行中的项目,有些边缘处理可能不够完善。
鉴于我们是基于实际Python代码进行匹配的,一些重构可能不易表达,甚至可能根本无法表达。
历史
TODO:描述我是如何想出这个想法的。
名称
最初我想将这个包命名为pythonista
,但不幸的是,有人抢注了这个名字(以及几个其他名字),并且没有按照程序发布这个名称。此外,该问题已被锁定。
这给了我重新思考名称的机会,所以我从单词refactor
的字母重组开始,当然这是不成功的。因此,经过一些实验,我将字母o
替换为i
,得到refactir
,它是单词craftier
的字母重组。
我喜欢这个名字,因为它就像是“重构”了单词refactor
,而craftier
传达了这个工具的实际用途。
额外的好处是,这个名字听起来有些像我的姓氏。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
craftier-0.1.0.tar.gz (22.2 kB 查看哈希值)
构建分发
craftier-0.1.0-py3-none-any.whl (25.7 kB 查看哈希值)