簡體   English   中英

JavaScript API開發的良好做法

[英]Good Practices in JavaScript API Development

設計JavaScript API的好方法是什么?

我對JavaScript相對較新,並且主要通過“ JavaScript:The Good Parts”學習該語言的主要優點。 目前,我正在設計一個基於Web的工具來教授統計學。 代碼庫變得多余,部分原因是我不了解如何設計JavaScript API。

我的背景是Java和C ++,並且習慣於設計接口,然后獨立實現這些接口。 顯然,這在JavaScript中效果不佳。

感謝您的幫助和建議。

更新 :此處的工具最終版本: http : //www.lock5stat.com/statkey/index.html

John Resig對NodeIterator API提出了嚴厲的批評。 盡管它是對一個特定API的回顧,但它提供了一些洞察力(至少他相信的是什么)使之成為一個好的工具。

我認為,如果您使用的是jQuery,最好的解決方案是將您的應用程序分為jQuery插件和UI小部件。 插件是組織代碼的好方法,您可以在其他應用程序中重復使用它們,也可以單獨發布它們。

您可以將應用程序編寫為插件樹。 您可以考慮具有聚合功能但不具有繼承功能的C ++ / Java類之類的插件。

有關代碼的注釋 :在MAIN.bootstrapPlot函數中,您使用document.createElement,應像在其余代碼中一樣使用jQuery,並檢查Canto庫中的Canvas。

我認為與開發任何API(無論使用哪種語言)都一樣,請牢記語言功能。

  1. 正如您所指出的那樣,接口在javascript中沒有多大意義,但是它是面向對象的,因此您可以將功能划分為“類”,使用設計模式等。

  2. 文檔。 您可以像記錄任何API一樣記錄javascript“類”。

  3. 即使js中沒有對接口或抽象類的本機支持,您仍然可以執行這些原則。 例如,您可以通過使用拋出錯誤的方法定義一個對象來創建“抽象類”,這樣子類將在錯誤實現的情況下出錯。 任何使用接口的東西都可以做一個簡單的檢查,以查看init上是否有必要的方法。 請注意,一些js的人對此不滿意,指出js是松散類型的和動態的,應該以這種方式使用。

請注意,我將“類”放在引號中,因為javascript沒有這樣的概念。 您可以做的另一件事是查看現有的API(例如Sencha或jQuery)以獲取一些想法。 Sencha感覺就像服務器端開發人員會習慣使用的API(請參閱他們的文檔)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM