From f124151ef85c59e94bbbdbca68ef825d2de32157 Mon Sep 17 00:00:00 2001 From: smallnest Date: Sun, 28 Apr 2024 08:45:18 +0800 Subject: [PATCH] add #79 --- README.md | 4 ++-- book.toml | 1 + src/078.md | 2 -- src/079.md | 35 +++++++++++++++++++++++++++++++++++ src/SUMMARY.md | 1 + src/images/079/1.png | Bin 0 -> 10685 bytes src/images/079/2.png | Bin 0 -> 14227 bytes src/images/079/3.png | Bin 0 -> 23201 bytes src/preface.md | 18 ++++++++++++++---- 9 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 src/079.md create mode 100644 src/images/079/1.png create mode 100644 src/images/079/2.png create mode 100644 src/images/079/3.png diff --git a/README.md b/README.md index c7a692a..4cdd816 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Go tips from [Phuong Le](https://twitter.com/func25). -**翻译进度:**: 78/78 = 100% +**翻译进度:**: 79/79 = 100% ## 翻译规范 @@ -131,7 +131,7 @@ Go tips from [Phuong Le](https://twitter.com/func25). | 76 | Result forwarding in function calls | syjs10 | | 77 | Buffered channels as semaphores to limit goroutine execution | QingyaFan | | 78 | Non-blocking channel send trick | hxzhouh | -| 79 | | | +| 79 | If doing something unusual, comment why | smallnest | | 80 | | | ## 生成文档 diff --git a/book.toml b/book.toml index 5e4f87f..6989e9d 100644 --- a/book.toml +++ b/book.toml @@ -9,3 +9,4 @@ title = "Go语言编程技巧" [output.html.print] enable = true + diff --git a/src/078.md b/src/078.md index 8de8f71..0902c69 100644 --- a/src/078.md +++ b/src/078.md @@ -1,5 +1,3 @@ - - # Tip #78 非阻塞 channel 发送技巧 > 原始链接:https://twitter.com/func25/status/1780207297991782834 diff --git a/src/079.md b/src/079.md new file mode 100644 index 0000000..9588ea1 --- /dev/null +++ b/src/079.md @@ -0,0 +1,35 @@ +# Tip #79 如果做了不寻常的事,请说明原因 + +> 原始链接:[Golang Tip #79: If doing something unusual, comment why](https://twitter.com/func25/status/1784197311926808655) +> + +我已经审查了一段时间的代码,并意识到最常见且最令人沮丧的问题之一是对不寻常代码的选择缺乏注释。 + +当我们使用Go语言足够长的时间后,我们明白大部分代码应该遵循常用的习惯用法和社区实践。 + +但是,有时我们需要打破这些规范,例如: + +![](./images/079/1.png) + +忽略错误或返回的结果,这行代码可能会让审查者或其他团队成员感到困惑或惊讶。 + +为什么忽略这个错误并不清楚。或许这个错误并不关键,即使没有有效的用户,功能也能继续执行,但为什么会这样呢? + +以下是如何澄清这个问题的方法: +![](./images/079/2.png) + + +这条注释迅速告诉读者,忽略错误是一个故意的决定,因为后续代码可以适当地处理一个为nil的用户。 + +再次强调,不应该忽略错误;这只是一个例子。至少,应该记录下这个错误。 + +还有一个: +![](./images/079/3.png) + +如果我们不突出显示那行不同寻常的代码,就很难看出哪里令人惊讶。 + +因此,这条注释不仅解释了为什么我们选择使用'err == nil',还通知了团队成员:“嘿,这是不寻常的代码,请看一下。” + +这是不寻常的,并且很容易被忽视,因为不寻常的细节太细微了,不容易被发现。 + +因此,当你以不同的方式做事时,一定要加上注释。 \ No newline at end of file diff --git a/src/SUMMARY.md b/src/SUMMARY.md index ed0f49c..4b79422 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -78,3 +78,4 @@ - [Tip #76 函数调用的结果回传](./076.md) - [Tip #77 带缓冲的 channel 作为信号量来限制 goroutine 执行](./077.md) - [Tip #78 非阻塞 channel 发送技巧](./078.md) +- [Tip #79 如果做了不寻常的事,请说明原因](./079.md) \ No newline at end of file diff --git a/src/images/079/1.png b/src/images/079/1.png new file mode 100644 index 0000000000000000000000000000000000000000..d8ebf5392575c313ad8d62240525639d23493c5a GIT binary patch literal 10685 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 literal 0 HcmV?d00001 diff --git a/src/images/079/2.png b/src/images/079/2.png new file mode 100644 index 0000000000000000000000000000000000000000..26545eef231213c86ad16be5927c906abea969a1 GIT binary patch literal 14227 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 literal 0 HcmV?d00001 diff --git a/src/images/079/3.png b/src/images/079/3.png new file mode 100644 index 0000000000000000000000000000000000000000..b399c6136a8407655a6b6655ff138ca03b497abf GIT binary patch literal 23201 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 literal 0 HcmV?d00001 diff --git a/src/preface.md b/src/preface.md index 8b39af4..3e4b347 100644 --- a/src/preface.md +++ b/src/preface.md @@ -1,12 +1,22 @@ -## Go语言编程技巧 - ![](./images/gotips-cover.png) 这是 [Phuong Le](https://twitter.com/func25) 在X上发布的一系列的技巧。 +Phuong Le也将推文整理成到了一个github仓库中[go-practical-tips](https://github.com/func25/go-practical-tips) + +征得作者同意,翻译成了中文。 + +本书是基于Phuong Le的推文进行翻译的,同时也新建一个说明,按照作者github项目上的划分整理各个tip。 + +感谢以下网友共同进行了翻译,翻译进展迅速。 + +正如作者所说,有些tip可能有一些错误: + +> Some of the tips were awkward, with typos and naive explanations. +> +> -征得作者同意,翻译成了中文。 感谢以下网友共同进行了翻译,翻译进展迅速。 -中间也发现了作者的一些手误,或者错误的翻译,及时做了注解和纠正。难免还有一些问题,欢迎大家到github提issue或者提Pull request. +我们翻译的时候也发现了作者的一些手误,或者错误,及时做了注解和纠正。难免还有一些问题,欢迎大家到github提issue或者提Pull request. 翻译网站:[gotips](https://github.com/smallnest/gotips)。