皆さん modest の Google Group にご参加いただきありがとうございます。modest サイ
トと共に、みんな気軽に質問や議論していく場所にできればいいなと思います。(・・).
最近少し拡張機能のコードを書いたり見たりして、拡張機能によってコーディングスタイ
ルがいろいろだけど、どうするのが書きやすいかなぁとか色々思う今日この頃なのです
が、パフォーマンスについては US の方で MDC にドキュメントを掲載する準備として
Wiki にベストプラクティスをまとめたページが作られつつあります。
https://wiki.mozilla.org/Performance/Addons/BestPractices
ここおかしいんじゃないかとか、こんなのもあるよとかあればシェアして、US にも
フィードバックできればいいなと思うのですが、皆さん如何でしょう?
# もちろん個別に直接フィードバックしてもらっても OK
--
- dynamis (Technical Marketing)
Mozilla Japan : http://mozilla.jp/
Firefox Support : http://support.mozilla.com/ja/
Mozilla Developer Street: https://dev.mozilla.jp/
o = {
get _observerSvc() {
if (!this.__observerSvc) {
this.__observerSvc = Cc["@mozilla.org/observer-service;1"].
getService(Ci.nsIObserverService);
}
return this.__observerSvc;
},
__observerSvc: null
};
このやり方だと__observerSvcというプロパティが1個増えて
ほんの僅かですが効率悪いので「Memoization」の書き方に修正しようと思います。
あと、Firefox 3.7以降であれば、XPCOMUtilsというJSモジュールを使って
以下のように書くこともできるみたいです。
XPCOMUtils.defineLazyServiceGetter(o, "_observerSvc", "@mozilla.org/
observer-service;1", "nsIObserverService");
.replace(3.7, 3)
https://developer.mozilla.org/en/XPCOMUtils.jsm
3.7 からはこっちですね。
https://developer.mozilla.org/en/JavaScript_code_modules/Services.jsm