那么为什么API文档会以一种使像我这样的永久新手/黑客/DIYer感到困惑的方式编写呢?
实际上并不是要以这种方式编写。我同意在API文档中似乎没有任何易用性。然而,从旧有的man
风格语法约定到现代API/命名空间约定有很多交叉点。
通常,使用API的人都具有开发背景或至少是“高级用户”。这些类型的用户已经习惯了这种语法约定,所以在API文档中遵循这些约定比尝试创建新的约定更有意义。
是否存在某个神秘的文档可以告诉人们如何阅读API文档?
实际上并没有标准或RFC,也没有超级秘密的语法文档,但是有一个大约30年历史的UNIX文件man page synposis format广泛使用。
以下是一些示例(回答您的问题):
下划线的字词被视为字面值,应该按照它们的原样输入。
方括号([])将参数括起来表示该参数是可选的。
省略号(...)用于显示先前的参数原型可能重复出现。
以减号(-)开头的参数通常被视为某种标志参数,即使它出现在文件名可能出现的位置。
几乎所有与编程有关的文档都使用这种类型的语法约定,例如
Python、
man pages、JavaScript库(
Highcharts)。
从Adobe API中分解您的示例
fillPath
([fillColor]
[, mode]
[, opacity]
[, preserveTransparency] [, feather]
[, wholePath] [, antiAlias])
我们看到
fillPath()
(一个函数)有可选参数
fillColor,mode,opacity,preserveTransparency,feathe,wholePath
或
antiAlias
。当调用
fillPath()
时,你可以向它传递从零个到所有这些参数中的任意数量。在可选
[]
中的逗号表示如果该参数与其他参数一起使用,则需要逗号将它们分隔开来(有些语言例如VB,明确需要这些逗号以正确地区分缺少哪个参数!)。由于你没有链接到文档(我在
Adobe脚本页面上也找不到它),因此真的没有办法知道Adobe API期望哪种格式。然而,大多数文档的顶部应该有一个解释说明其中使用的约定。
因此,这个函数可能有很多种使用方式:
fillPath()
fillPath(#000000,RGB)
fillPath(#000000,RGB,50)
fillPath(#000000,50)
fillPath(#000000,,50)
再次强调,关于API/编程的所有文档通常都有一些标准。然而,在每个文档中,可能会存在一些微小的差异。作为高级用户或开发人员,您应该能够阅读和理解您尝试使用的文档、框架和库。