Skip to content

Commit

Permalink
add #79
Browse files Browse the repository at this point in the history
  • Loading branch information
smallnest committed Apr 28, 2024
1 parent 1dd9aa9 commit f124151
Show file tree
Hide file tree
Showing 9 changed files with 53 additions and 8 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Go tips from [Phuong Le](https://twitter.com/func25).

<img src="src/images/wechat.png" width="200px">

**翻译进度:**78/78 = 100%
**翻译进度:**79/79 = 100%

## 翻译规范

Expand Down Expand Up @@ -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 | | |

## 生成文档
Expand Down
1 change: 1 addition & 0 deletions book.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ title = "Go语言编程技巧"

[output.html.print]
enable = true

2 changes: 0 additions & 2 deletions src/078.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@


# Tip #78 非阻塞 channel 发送技巧

> 原始链接:https://twitter.com/func25/status/1780207297991782834
Expand Down
35 changes: 35 additions & 0 deletions src/079.md
Original file line number Diff line number Diff line change
@@ -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',还通知了团队成员:“嘿,这是不寻常的代码,请看一下。”

这是不寻常的,并且很容易被忽视,因为不寻常的细节太细微了,不容易被发现。

因此,当你以不同的方式做事时,一定要加上注释。
1 change: 1 addition & 0 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,4 @@
- [Tip #76 函数调用的结果回传](./076.md)
- [Tip #77 带缓冲的 channel 作为信号量来限制 goroutine 执行](./077.md)
- [Tip #78 非阻塞 channel 发送技巧](./078.md)
- [Tip #79 如果做了不寻常的事,请说明原因](./079.md)
Binary file added src/images/079/1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/images/079/2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/images/079/3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 14 additions & 4 deletions src/preface.md
Original file line number Diff line number Diff line change
@@ -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)

Expand Down

0 comments on commit f124151

Please sign in to comment.