【问题标题】:Give Warning for Certain Syntax对某些语法发出警告
【发布时间】:2019-02-04 21:56:55
【问题描述】:

我曾使用语法Query.select_from() 处理缓慢的 sqlalchemy 子查询。基于这种经验,我希望每次在我们的代码库中使用某些语法时都会收到警告。例如,当程序员在下面添加这段代码时,我想得到警告。

q = session.query(Address).select_from(User).\
    join(User.addresses).\
    filter(User.name == 'ed')

是否有任何 linter 或工具可以做到这一点?

【问题讨论】:

    标签: continuous-integration git-merge linter


    【解决方案1】:

    理想情况下,您可以在远程 Git 存储库托管服务器 like this one 上设置一个预接收挂钩,以便读取推送的文件并 grep 查找“query.*\.select_from”:如果检测到,该挂钩将拒绝推送.

    如果您无权访问远程服务器(例如 GitHub),则需要设置 webhook

    另一种方法是为所有客户端部署pre-push hook,并在那里进行检查,但这可能会被绕过,或者不能部署到所有人。
    服务器端钩子/网络钩子更安全。

    【讨论】:

    • 感谢您的建议。我想我会先尝试 pre-push hook,然后再设置 webhook。
    猜你喜欢
    • 2021-02-19
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 2021-03-11
    相关资源
    最近更新 更多