gpt4 book ai didi

coding-style - 如果(条件)继续;或 if (!condition) { ... }? (风格偏好)

转载 作者:行者123 更新时间:2023-12-04 10:39:25 25 4
gpt4 key购买 nike

我知道这是一个风格问题,因此是主观标签。我有一小段代码,有两个嵌套条件。我可以用两种方式对其进行编码,我想看看更有经验的开发人员认为它应该是什么样子。

样式 1:

while (!String.IsNullOrEmpty(msg = reader.readMsg()))
{
RaiseMessageReceived();
if (parseMsg)
{
ParsedMsg parsedMsg = parser.parseMsg(msg);
RaiseMessageParsed();
if (processMsg)
{
process(parsedMsg);
RaiseMessageProcessed();
}
}
}

风格 2:
while (!String.IsNullOrEmpty(msg = reader.readMsg()))
{
RaiseMessageReceived();
if (!parseMsg) continue;

ParsedMsg parsedMsg = parser.parseMsg(msg);
RaiseMessageParsed();
if (!processMsg) continue;

process(parsedMsg);
RaiseMessageProcessed();
}

(附带问题:如何在源代码示例中放置空行?)

最佳答案

原则上我同意大多数人喜欢风格 1。这就是史蒂夫麦康奈尔在“代码完成”中所赞同的 - 说出你的意思,即如果你对条件为真更感兴趣,而错误状态则较少或不受欢迎,然后说明首选版本。

在实践中,虽然我经常发现自己使用样式 2,因为我喜欢首先清除所有可能的错误/无效状态。在我摆脱了我不感兴趣的所有可能性之后,我可以将核心代码写到例程的末尾,而不必一直怀疑是否需要防范某些情况。基本上,态度是,去掉糠秕,然后平静地做真正的工作。

关于coding-style - 如果(条件)继续;或 if (!condition) { ... }? (风格偏好),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/391753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com