Pythonic警告开发者Cod损坏的方法

2024-09-29 23:18:16 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有一种pythonic方法可以向其他开发人员抛出一个异常来警告他们使用一段有bug的代码?你知道吗

例如:

def times_two(x):
    raise BrokenException("Attn.This code is unreliable. Only works on positive numbers")
     x = abs(x) * 2
     return x

我知道我可以用一条消息引发一个泛型异常,甚至可以派生自己的异常类,但我只想知道是否有一种内置的pythonic方法来做这样的事情。你知道吗

而且,我理解为什么实际的times_two函数不起作用。这只是一个示例函数。你知道吗

这不是用来验证输入参数甚至返回值的。你知道吗

这只是将函数标记为可能不可靠。你知道吗

在非常特殊的情况下,代码必须在某些区域中使用,但是当开发人员正在编写代码并运行此函数时,应该警告其局限性。你知道吗


Tags: 方法函数代码警告开发人员defcodethis
3条回答

应该使用内置异常“ValueError”。你知道吗

def times_two(x):
    if x < 0:
        raise ValueError('{} is not a positive number.'.format(x))
    return x * 2

这似乎是一个XY问题。最初的问题是,您有一些代码是不完整的或以其他方式知道无法工作。如果它是您当前正在处理的东西,那么这里使用的正确工具就是您的版本控制。使用Git,您将创建一个新分支,该分支只能合并到master中,并准备在完成工作后发布到生产环境中。您不应该发布部分实现。你知道吗

对于任何需要提醒开发人员的用例,您的示例都是非常有缺陷的。这需要提醒用户不要输入负数。你知道吗

def times_two(x):
    if x < 0:
        raise BrokenException("Attn user. Don't give me negitive numbers.")
    return x * 2

尽管如此,我认为如果您的示例更准确地描述了需要开发人员注意的实际错误,那么您应该修复该错误,而不是在知道其中存在错误的情况下将其投入生产。你知道吗

sentry.io另一方面可以帮助发现错误,并帮助开发人员在生产过程中修复错误。如果warnings不适合你的话,你可能需要调查一下。从他们的自述文件.me地址:

Sentry fundamentally is a service that helps you monitor and fix crashes in realtime. The server is in Python, but it contains a full API for sending events from any language, in any application.

相关问题 更多 >

    热门问题