では、なぜAPIドキュメントは、私のような多年生の初心者/ハッカー/ DIYの人を混乱させるような方法で書かれているのでしょうか?
それは実際にはそのように書かれることを意図していません。APIドキュメント全体で使いやすさがないように思われることに同意します。man
ただし、古いスタイルの構文規則から最新のAPI/名前空間規則へのクロスオーバーがたくさんあります。
通常、APIを使用するタイプの人は、開発のバックグラウンドを持っているか、少なくとも「パワーユーザー」です。これらのタイプのユーザーは、このような構文規則に慣れており、新しいものを作成しようとするよりも、APIドキュメントに従う方が理にかなっています。
APIドキュメントの読み方を説明する不思議なドキュメントがどこかにありますか?
実際には、標準またはRFCのsupersekretsyntaxdocがどこにも配置されていませんが、広く使用されているUNIXのmanページシンポシス形式用の30年前のファイルがあります。
これのいくつかの例(そしてあなたの質問に答える)は次のようになります:
下線が引かれた単語はリテラルと見なされ、表示されたとおりに入力されます。
引数を囲む角括弧([])は、引数がオプションであることを示します。
省略記号...は、前の引数-プロトタイプが繰り返される可能性があることを示すために使用されます。
マイナス記号で始まる引数は、ファイル名が表示される可能性のある位置に表示されている場合でも、ある種のフラグ引数を意味すると解釈されることがよくあります。
Python、manページ、javascript libs(Highcharts)など、ほとんどすべてのプログラミング関連のドキュメントでこのタイプの構文規則が使用されています。
AdobeAPIから例を分解する
fillPath
([fillColor]
[, mode]
[, opacity]
[, preserveTransparency] [, feather]
[, wholePath] [, antiAlias])
fillPath()
(関数)がオプションの引数fillColor, mode, opacity, preserveTransparency, feathe, wholePath
またはをとることがわかりますantiAlias
。を呼び出すfillPath()
と、これらのパラメータのどれも、すべてに、どこからでも渡すことができます。オプション内のコンマは、[]
このパラメーターが他のパラメーターに加えて使用される場合、それを区切るためにコンマが必要であることを意味します。(常識は確かですが、VBのような一部の言語では、欠落しているパラメーターを適切に表すためにこれらのコンマが明示的に必要になる場合があります!)ドキュメントにリンクしていなかったため(そしてAdobeのスクリプトページで見つけることができませんでした)、AdobeAPIがどの形式を期待しているかを知る方法は実際にはありません。ただし、ほとんどのドキュメントの上部に、内部で使用されている規則を説明する説明があるはずです。
したがって、この関数はおそらく多くの方法で使用できます。
fillPath() //Nothing passed
fillPath(#000000,RGB) // Black, in RGB mode
fillPath(#000000,RGB,50) // Black, in RGB mode, half opacity
//Now it gets tricky, this might ALSO be acceptable:
fillPath(#000000,50) // Black, no mode, half opacity
//OR
fillPath(#000000,,50) // Black, no mode, half opacity
繰り返しになりますが、通常、API/プログラミングに関連するすべてのドキュメントにいくつかの標準があります。ただし、各ドキュメントには微妙な違いがある可能性があります。パワーユーザーまたは開発者は、使用しようとしているドキュメント/フレームワーク/ライブラリを読んで理解できることが期待されます。