Warum ist die API-Dokumentation so geschrieben, dass mehrjährige Neulinge / Hacker / Heimwerker wie ich verwirrt werden?
Es ist wirklich nicht so geschrieben. Ich bin damit einverstanden, dass es in API-Dokumentationen keine Benutzerfreundlichkeit zu geben scheint. Es gibt jedoch viele Übergänge von Syntaxkonventionen älterer man
Stile zu modernen API / Namespace-Konventionen.
In der Regel hat der Typ der Person, die mit API arbeitet, einen Hintergrund in der Entwicklung oder zumindest einen "Hauptbenutzer". Diese Benutzertypen sind an solche Syntaxkonventionen gewöhnt, und es ist sinnvoller, dem API-Dokument zu folgen, als zu versuchen, neue zu erstellen.
Gibt es irgendwo ein mysteriöses Dokument, das den Leuten sagt, wie man API-Dokumentation liest?
Es gibt wirklich keinen Standard- oder RFC-Supersekretsyntaxdoc, der irgendwo herumliegt, jedoch gibt es eine ~ 30 Jahre alte Datei für das UNIX- Manpage-Synposis-Format, die weit verbreitet ist.
Einige Beispiele hierfür (und die Beantwortung Ihrer Frage) wären:
Unterstrichene Wörter gelten als Literale und werden so eingegeben, wie sie erscheinen.
Eckige Klammern ([]) um ein Argument geben an, dass das Argument optional ist.
Ellipsen ... werden verwendet, um zu zeigen, dass der vorherige Argument-Prototyp wiederholt werden kann.
Ein Argument, das mit einem Minuszeichen beginnt, wird oft als eine Art Flag-Argument verstanden, selbst wenn es an einer Stelle erscheint, an der ein Dateiname erscheinen könnte.
Fast alle programmierbezogenen Dokumentationen verwenden diese Art von Syntaxkonvention , von Python , Manpages , Javascript- Bibliotheken ( Highcharts ) usw.
Aufschlüsselung Ihres Beispiels aus der Adobe-API
fillPath
([fillColor]
[, mode]
[, opacity]
[, preserveTransparency] [, feather]
[, wholePath] [, antiAlias])
Wir sehen, dass fillPath()
(eine Funktion) optionale Argumente fillColor, mode, opacity, preserveTransparency, feathe, wholePath
oder antiAlias
. Beim Aufrufen fillPath()
können Sie einen beliebigen Parameter an alle übergeben. Die Kommas innerhalb des optionalen Zeichens []
bedeuten, dass Sie, wenn dieser Parameter zusätzlich zu anderen verwendet wird, das Komma benötigen, um ihn zu trennen. (Der gesunde Menschenverstand braucht manchmal sicher, aber manchmal benötigen einige Sprachen wie VB explizit diese Kommas, um richtig zu definieren, welcher Parameter fehlt!). Da Sie keinen Link zur Dokumentation erstellt haben (und ich ihn auf der Skriptseite von Adobe nicht finden kann), können Sie nicht feststellen , welches Format die Adobe-API erwartet. Am Anfang der meisten Dokumentation sollte jedoch eine Erklärung stehen, in der die darin verwendeten Konventionen erläutert werden.
Diese Funktion könnte also wahrscheinlich auf viele Arten verwendet werden:
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
Auch hier gibt es normalerweise einige Standards für alle Dokumentationen in Bezug auf API / Programmierung. In jedem Dokument kann es jedoch zu geringfügigen Unterschieden kommen. Als Hauptbenutzer oder Entwickler wird von Ihnen erwartet, dass Sie die Dokumente / Frameworks / Bibliotheken lesen und verstehen können, die Sie verwenden möchten.