Je suis en train de lire à travers le JavaScript guide des scripts pour Photoshop, Illustrator et InDesign. L'API est vraiment difficile à lire car il suppose je sais que certains d'abréviation conventions. Le problème n'est pas limité à ce guide des scripts. Je pourrais énumérer des dizaines qui présentent le même problème.
Quand j'ai lu une API comme quelqu'un qui ne vit pas dans le code 24 heures par jour, je veux ressembler à quelque chose et de voir un exemple simple de l'utilisation du code dans la forme la plus basique. Mais souvent, il n'est pas facile à comprendre au premier abord.
Ici est un exemple. Je vais chercher comment changer la couleur d'un élément en JavaScript dans Photoshop. Donc, je recherche le fichier PDF et de trouver des "fillColor". J'ai trouve cela dans les docs:
fillPath
([fillColor]
[, mode]
[, opacity]
[, preserveTransparency] [, feather]
[, wholePath] [, antiAlias])
Quand je lis cela, à première vue, n'a aucun sens. Pourquoi il y a des crochets et comment je sais que je ne suis pas censé les utiliser dans une mise en œuvre? Pourquoi sont des virgules dans les crochets? Je sais ce que le code devrait ressembler à partir d'un échantillon que j'ai trouvé, qui est-ce:
myPath.fillPath(myNewColor)
Si je n'avais pas vu l'exemple, je n'aurais JAMAIS la divine du code de l'API que c'est la façon dont cette méthode doit regarder lors de la mise en œuvre. Quelqu'un d'autre a fait remarquer qu'un exemple de cette méthode pourrait ressembler à ceci:
myPath.fillPath(mynewColor, {
mode: RGB,
opacity: .5
})
OK. Je vois que je peux laisser implicite des paramètres facultatifs. Des beaux. Mais encore une fois, je n'aurais JAMAIS deviné ce à partir de l'API.
Donc, est-il un mystérieux document quelque part qui dit aux gens comment lire la documentation de l'API? Pourquoi est-il écrit comme ça? Quelles sont les connaissances antérieures ne présume-je? Pourquoi est-il comme cela, et ce que je peux faire pour arrêter de me demander à ce sujet et "get", donc je peut plus heureux de lire et de mettre en œuvre la prochaine API?
Alors, pourquoi est-documentation de l'API écrite de manière à confondre vivaces newbs / les pirates / les Bricoleurs comme moi?