美文网首页中文编程
用中文命名API的意义和途径

用中文命名API的意义和途径

作者: 吴烜 | 来源:发表于2019-05-05 14:31 被阅读0次

在前文对在代码中使用中文命名的质疑与回应中阐述了在代码中使用中文命名的益处. 此文将从软件使用者的角度阐述对API中文化的意义并探讨实现途径. 当然, 文中面向的用户是以中文为母语的开发者.

首先请看一个实例, 演示效果在:

p5js_eng.png
p5js_zh.png

这个库提供了一系列绘图相关的API. 后者是笔者将这些API封装成了中文之后的对应代码.

此文的大前提是, 对以中文为母语的开发者, 中文接口版本的代码更易理解.

API作为程序和程序之间交流的"语言", 在软件生态圈中的重要性不言而喻. 拥有一套设计良好, 易于理解的API是大多数流行框架和库共有的特征. 当然, 绝大多数的API都是英文的. 导致中文用户在学习和使用时就要更多地依赖文档和注释.

中文API的命名更能被中文用户接受. 它将直接降低使用者的学习门槛, 并降低维护成本. 当然, 第三方库对中文字符的支持问题仍然会对这一实践造成麻烦, 但个人认为在实践中解决这些麻烦是降低软件开发成本付出的代价, 而且解决的越早, 后人越能乘凉.

现状是, 即使一些国人主创, 且几乎完全面向国内用户的框架, 也没有中文的API. 这里绝无指摘之意, 因为冰冻三尺非一日之寒, 更何况这些框架问世之时中文字符的支持程度也远不如今日.

以在下浅见, 开发中文API的途径包括:

  • 用中文封装现有的英文API
  • 在设计时就首选中文API

如果能够做到在内部代码和API都使用中文命名, 当然是最理想的, 但个人认为API的命名是更关键的一部分. 中文的命名规范几乎是空白, 这需要实践和集体智慧来填补.

封装现有的英文API也许比较有争议. 常见的一种观点是"XX语言的核心库, 先汉化给我看看". 这是一个寻找切入点的问题. 一个主流编程语言的核心库, 往往经历十数年甚至更长时间的积累, 接口不下万个. 而一些特定领域的库的API, 接口不过数十个. 领域受众也是很重要的因素. 有兴趣的请在跨界: 哪些中文非IT领域会偏好中文API, 编程/脚本语言?一起探讨.

2017-10-29

相关文章

  • 用中文命名API的意义和途径

    在前文对在代码中使用中文命名的质疑与回应中阐述了在代码中使用中文命名的益处. 此文将从软件使用者的角度阐述对API...

  • Restful API

    简单使用 Restful 风格API RESTful API 是写给开发者来消费的,其命名和结构需要有意义。因此,...

  • 目录

    一. 命名实体识别系列 中文命名实体识别总结用CRF做命名实体识别(一)用CRF做命名实体识别(二)用CRF做命名...

  • Python自然语言处理资料库(长期更新,欢迎补充)

    中文分词工具API LTP- 语言技术平台(LTP) 提供包括中文分词、词性标注、命名实体识别、依存句法分析、语义...

  • 在Maven Central发布中文API的Java库

    相关问题: 哪些Java库有中文命名的API? 且记下随想. 之前没有发布过, 看了SO上的推荐:Publish ...

  • Effective Objective-C 2.0 总结(三)

    接口与 API 设计 第 15 条:用前缀避免命名空间冲突 如果发生命名冲突(naming clash),那么应用...

  • 开发规范

    1.命名规范 尽量使用有意义的英文命名,不要使用拼音加英文,更不能出现中文命名 1.1 包名 1.按照功能模块分包...

  • EffectiveObjective-C2.0 笔记 - 第三部

    3 接口与 API 设计 3.1 用前缀避免命名空间冲突 1.如果发生命名冲突(naming clash),那么应...

  • 52个有效方法阅读笔记(三)

    1.接口和 API 设计 *用前缀避免命名空间冲突:Apple宣称其保留使用所有"两字母前缀"的权利,所以自己选用...

  • Effective Objective-C 2.0 读书笔记 (

    第三章 接口与API设计 第15条 用前缀避免命名空间冲突 Objective—C 没有内置的命名空间(names...

网友评论

    本文标题:用中文命名API的意义和途径

    本文链接:https://www.haomeiwen.com/subject/vuzcoqtx.html