主要观点:
- 介绍了 Martin Tournoij 的《Against Best Practices》,并表达了自己的看法。
- 探讨了“最佳实践”(Best Practices)和“被认为有害”(Considered Harmful)的相关内容。
- 以
goto语句为例,分析其在不同情境下的使用及利弊。 - 强调语言习惯(idiomaticity)的重要性,即语言习惯是上下文相关的,理解语言习惯能带来更强大和更深刻的理解。
关键信息:
- “最佳实践”起初像自行车的辅助轮,帮助避免新手错误,但不应视为绝对真理,过度依赖会阻碍学习。
- “被认为有害”的宣言往往缺乏对特定语言特征有害性的充分论证,容易让人盲目避免使用某些特征。
- 以
goto语句为例,其可能导致 spaghetti 代码,不易理解代码意图,但在错误处理等特定情境下有其用处。 - 语言习惯是上下文相关的,不同情境下语言习惯不同,如 Rust 中应用和库的错误处理习惯不同。
重要细节:
- 以具体代码示例说明
goto语句可能导致的问题,如在初始化变量时跳过或在错误处理中可能导致的混乱。 - 提到 Dijkstra 对
goto语句的观点及相关背景,如在汇编语言中goto结构可能是可接受甚至必要的。 - 阐述了理解语言习惯的重要性,以及避免盲目遵循实践或宣言,而应注重理解语言习惯背后的原因。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。