Since nobody complained, I'll take that for a yes :)

Will update 
http://dev.xwiki.org/xwiki/bin/view/Community/DevelopmentPractices#HJavaScriptBestPractices
and fix code accordingly.

Jerome.

On Wed, Oct 20, 2010 at 7:22 PM, Marius Dumitru Florea
<[email protected]> wrote:
> +1
>
> Thanks,
> Marius
>
> On 10/20/2010 06:38 PM, Jerome Velociter wrote:
>> Hi devs,
>>
>> I'd like to propose we adopt the module pattern for our XWiki's
>> javascript modules.
>>
>> The pattern and its variations is well described here :
>> http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth
>>
>> I would follow the author advice and go for loose augmentation and
>> sub-modules. I don't think we need private states.
>>
>> Main avantages I see over what we currently are doing are :
>> * It enforces namespacing and the use of a private scope versus manual
>> namespacing in the global window scope
>> * It easily supports global imports (can be useful for example when
>> using jQuery in addition to prototype)
>> * It's more elegant and easier to read. For example :
>>
>> var XWiki = (function(XWiki, $j){
>>
>>      var mySubModule = XWiki.mySubModule = XWiki.mySubModule || {};
>>
>>      // my sub module code here
>>
>>      return XWiki;
>>
>> })(XWiki, jQuery)
>>
>> instead of the tedious :
>>
>> if (typeof XWiki == "undefined") {
>>      XWiki = new Object();
>> }
>> if (typeof XWiki.mySubModule == "undefined") {
>>      XWiki.mySubModule = new Object();
>> }
>>
>> // my sub module code here
>>
>> I'm +1 to adopt it.
>>
>> WDYT ?
>>
>> Jerome
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to