惯用的Julia和return关键字

惯用的Julia和return关键字,julia,Julia,来自Python的Julia,我正在寻找某种为惯用Julia设定标准的东西。在Python世界中,有PEP8——Python代码的风格指南。我在朱莉娅的世界里寻找同等的人 例如,上面链接中关于使用return的Python语句是: 在返回语句中保持一致。函数中的所有return语句都应该返回表达式,或者都不应该返回。如果任何return语句返回表达式,则没有返回值的任何return语句都应显式地将其声明为return None,并且在函数的末尾应显示一个显式的return语句(如果可以访问) 在

来自Python的Julia,我正在寻找某种为惯用Julia设定标准的东西。在Python世界中,有PEP8——Python代码的风格指南。我在朱莉娅的世界里寻找同等的人

例如,上面链接中关于使用
return
的Python语句是:

在返回语句中保持一致。函数中的所有return语句都应该返回表达式,或者都不应该返回。如果任何return语句返回表达式,则没有返回值的任何return语句都应显式地将其声明为return None,并且在函数的末尾应显示一个显式的return语句(如果可以访问)

在Julia world中,我发现最接近PEP 8的是Julio 1.0.0文档的风格指南部分。我没有看到关于使用
return
的讨论

问题:还有什么可以让我去做的吗


问题:朱利安在函数末尾总是使用
return
保留字,这被认为是惯用的做法吗?

大多数时候,将
return
显式化是一种很好的做法。有时函数不打算返回值(如
print
);Julia提供了一种方法使此显式
不返回任何内容
。如果x!=0 ... 结束,让条件的每个分支返回它的值而不显式使用
返回
,这样做了,但是通过显式地返回
返回
通常不会丢失任何东西,并且可以获得清晰性。

大多数时候,显式地返回
是一种很好的做法。有时函数不打算返回值(如
print
);Julia提供了一种方法使此显式
不返回任何内容
。如果x!=0 ... 结束
,让条件的每个分支返回它的值而不显式使用
返回
,这样做了,但是通过显式地使用
返回
通常不会丢失任何东西,也不会获得清晰性。

我认为还没有出现一个独特的风格指南。就我个人而言,我几乎总是使用显式的
return
语句(有时在非常短的方法中省略它)。否则我觉得事情太含蓄了。我的函数实际上可能有点类型不稳定。你最好的选择是阅读。有点极端,但讽刺的是,它们与返回语句没有一致性:第102行和第112行是的,两个相同的返回是
nothing
,相隔10行,一个是
returnnothing
,另一个是
nothing
。谢谢你的指点。我喜欢这里的评论,它建议大部分时间应该使用显式的
返回
。我遵循一个简单的规则:简短的单行函数:no
返回
。普通长格式函数:始终
返回
。我发现隐式的
return
s让人不知所措,并且总是在意识到“哦,我想这只是一个
return
语句”之前,一直认为它一定是一个有一些看不见的副作用的语句。但不幸的是,即使在核心开发人员中,它也是非常常用的。似乎Julia需要Python中类似PEP8的东西。我认为还没有出现一个独特的风格指南。就我个人而言,我几乎总是使用显式的
return
语句(有时在非常短的方法中省略它)。否则我觉得事情太含蓄了。我的函数实际上可能有点类型不稳定。你最好的选择是阅读。有点极端,但讽刺的是,它们与返回语句没有一致性:第102行和第112行是的,两个相同的返回是
nothing
,相隔10行,一个是
returnnothing
,另一个是
nothing
。谢谢你的指点。我喜欢这里的评论,它建议大部分时间应该使用显式的
返回
。我遵循一个简单的规则:简短的单行函数:no
返回
。普通长格式函数:始终
返回
。我发现隐式的
return
s让人不知所措,并且总是在意识到“哦,我想这只是一个
return
语句”之前,一直认为它一定是一个有一些看不见的副作用的语句。但不幸的是,即使在核心开发人员中,它也是非常常用的。看起来Julia需要Python中类似PEP8的东西。