【发布时间】:2019-02-22 00:41:34
【问题描述】:
从 Python 来到 Julia 我正在寻找能够为惯用 Julia 设定标准的东西。在 Python 世界中有 PEP 8 -- Python 代码样式指南here。我正在寻找 Julia 世界中的等价物。
例如上面链接中关于return使用的Python语句是:
在返回语句中保持一致。函数中的所有 return 语句都应该返回一个表达式,或者它们都不应该返回。如果任何 return 语句返回一个表达式,则任何没有返回值的 return 语句都应将其显式声明为 return None,并且显式的 return 语句应出现在函数的末尾(如果可访问)。
我在 Julia 世界中找到的最接近 PEP 8 的是 Julio 1.0.0 文档 here 的 Style Guide 部分。我在那里没有看到关于使用return 的讨论。
问题:还有什么可以指导我的吗?
问题:在函数末尾始终使用 return 保留字是否被认为是惯用的 Julian?
【问题讨论】:
-
我认为还没有出现独特的风格指南。就我个人而言,我几乎总是使用显式的
return语句(我有时会在很短的方法中省略它)。我发现事情太含蓄了。我的函数实际上可能是微妙的类型不稳定。 -
到目前为止,您最好的选择是阅读Julia base source code。有点极端,但具有讽刺意味的是,它们与 return 语句不一致:第 102 和 112 行 here
-
是的,
nothing的两个相同返回,相隔 10 行,一个是return nothing,另一个是nothing。感谢您的指点。我喜欢这里的 cmets,建议大部分时间都应该使用明确的return。 -
我遵循一个简单的规则:简短的单行函数:没有
return。普通长格式函数:alwaysreturn。我发现隐含的returns 令人迷惑,并且一直认为它一定是一个有一些无形副作用的声明,然后才意识到,'哦,我想这只是一个return声明'。但不幸的是,它非常被普遍使用,即使在核心开发者中也是如此。 -
我同意。似乎 Julia 需要 Python 中的 PEP 8 之类的东西。
标签: julia