From 6cd34cce1b80d9c2766c6cb382e0f18c36478b28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=83=9C?= Date: Fri, 6 Nov 2020 14:22:51 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=AC=AC=E4=B8=80=E9=83=A8=E5=88=86?= =?UTF-8?q?=E2=80=94=E2=80=94=E5=88=9D=E8=AF=86=E5=BC=80=E6=BA=90/?= =?UTF-8?q?=E6=9C=89=E5=85=B3=E5=BC=80=E6=BA=90=E7=9A=84=E5=B8=B8=E8=A7=81?= =?UTF-8?q?=E8=AF=AF=E5=8C=BA.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...345\270\270\350\247\201\350\257\257\345\214\272.md" | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git "a/\347\254\254\344\270\200\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\346\234\211\345\205\263\345\274\200\346\272\220\347\232\204\345\270\270\350\247\201\350\257\257\345\214\272.md" "b/\347\254\254\344\270\200\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\346\234\211\345\205\263\345\274\200\346\272\220\347\232\204\345\270\270\350\247\201\350\257\257\345\214\272.md" index cb1d0e3..8e0937a 100644 --- "a/\347\254\254\344\270\200\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\346\234\211\345\205\263\345\274\200\346\272\220\347\232\204\345\270\270\350\247\201\350\257\257\345\214\272.md" +++ "b/\347\254\254\344\270\200\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\346\234\211\345\205\263\345\274\200\346\272\220\347\232\204\345\270\270\350\247\201\350\257\257\345\214\272.md" @@ -23,15 +23,15 @@ GPL、MIT、BSD 等比较流行的开源协议允许使用者修改源代码, > A developer wishing to make a library widely available needs to make a number of explicit choices (such as publication, licensing, language of documentation, and language of identifiers). It should always be the choice of the author to make these decisions - not the choice of the language designers. > -> 希望使库广泛可用的开发人员需要做出许多明确的选择(例如发布、许可、文档语言和标识符语言)。做这些决定应该是源码作者的选择,而不是语言设计者的选择。 +> 希望使库广泛可用的开发人员需要做出许多抉择(例如发布、许可、用何种语言编写文档和命名标识符)。决定权都应在项目作者而不是语言设计者手中。 这段话同样适用于开源项目。无论是文档还是源码中标识符使用的语言,项目作者都可以根据实际需求来灵活决定,而非简单的一刀切用英文。实际上,开源项目往往是在开发者业余的碎片时间进行,文档和测试往往从简。这种情况下,代码的清晰度和可维护性对于项目可持续性尤显重要,这恰恰是母语命名标识符的优势。正如同一文档指出: > By using identifiers in their native language, code clarity and maintainability of the code among speakers of that language improves. > -> 通过在母语中使用标识符,使用该语言的人可以提高代码的清晰度和可维护性。 +> 通过使用母语命名的标识符,代码的清晰度和可维护性对于该母语使用群体得到了提高。 -下面是一些常见的顾虑: +下面是一些常见的疑虑: - 用中文命名出了问题怎么办? @@ -45,7 +45,9 @@ GPL、MIT、BSD 等比较流行的开源协议允许使用者修改源代码, 大多数情况下,读代码的时间远超过写代码的时间。即便仅仅讨论写代码的效率,也要考虑推敲英文命名甚至查字典的时间,何况很多领域业务相关命名连恰当英文表达都很难找到。另外,随着中文命名实践的普及,相应的 IDE 辅助功能也在不断涌现,比如 [JetBrains](https://gitee.com/tuchg/ChinesePinyin-CodeCompletionHelper) 和 [VS Code](https://gitee.com/Program-in-Chinese/vscode_Chinese_Input_Assistant) 的中文代码补全插件。 - 此外,你还可以考虑在命名中加入拼音的元素,比如`视频`你可以命名为 `shipin` 而不是 `video`。你还可以使用拼音的首字母来命名,比如`项目经理`可以使用 `xmjl` 来命名。这样既不会降低写代码的效率,同时也提高了中文含义的可读性。 +- 用拼音效果一样吗? + + 从代码可读性看,使用拼音不如中文。比如 `shipin`,就有`食品/视频/饰品`等等理解。即便可以根据代码上下文进行猜测,无疑也是额外的负担。拼音缩写的可读性更差,像 `xmjl`,到底是姓名记录、项目奖励、项目监理还是项目经理呢?如果需要额外中文注释才能避免误解,还不如将直接将中文注释的内容用于命名。输入效率来说,输入全部拼音的速度也往往不如输入中文,因为大多数中文词语不需输入全部拼音即可选词。更不用说用拼音命名更容易出现细节错误如翘平舌、前后鼻音等等。 - 项目已经是英文命名的,没法转了? -- Gitee