扬帆大鱼

是的。您应该添加注释以说明执行此操作的原因。由于执行此操作的动机常常被误导,因此人们会对它提出质疑,就像在对您的OP的评论中一样。如果您有充分的理由编写一个函数来抛回返回值,请在注释中对其进行辩护。也许你可以写,// makeRune helper function allows function chaining.func makeRune(s string) (r rune) {    // toss length return value.  for all use cases in this program    // only the first rune needs to be decoded.    r, _ = utf8.DecodeRuneInString(s)    return}这还可以通过遵循经验法则来帮助代码审查,“如果注释和代码不同,则两者都可能是错误的。” 如果不需要函数链接,则函数的整体用途值得怀疑。如果您的意见表明您认为自己正在抛出错误值,那将是一个危险信号。如果您的注释建议您认为s只能包含一个符文,那也将是一个危险信号。给定上面的示例注释,我可能会读完所写内容,并决定将函数更好地命名为firstRune。这带有更具体的含义,并避免暗示类似于Go make函数的语义。
0 0