At least in the modules that I have been working on I am doing things as you 
suggest. Assigning that = this and returning that. I don't believe there was 
ever a specific method adopted by us.

Micah

On Nov 28, 2011, at 8:22 AM, Rüdiger Rolf wrote:

> Hi Edmore,
> 
> I'm forwarding this to the Matterhorn developers list as this is development 
> related. At least some developers are not on the users list.
> 
> Rüdiger
> 
> Edmore Moyo <[email protected]> schrieb:
> 
> Good day,
> 
> I am working on this jira :
> 
> http://opencast.jira.com/browse/MH-7135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#issue-tabs
> 
> Is there a coding style that I can refer to? I am rather new to the community 
> so I went through some of the code first to see the general coding style. For 
> example with the engage-ui.js code and all other engage code that I looked 
> at, the style is as follows:
> 
> Opencast.engage = (function ()
> {
>     var loadProgressPercent = -1;
> 
>     /**
>      * @memberOf Opencast.engage
>      * @description Gets player type ("watch" or "embed")
>      * @return the player type
>      */
>     function getPlayerType()
>     {
>         var pathname = window.location.pathname;
>         return pathname;
>     }
> 
>     /**
>      * @memberOf Opencast.engage
>      * @description Gets the url to the search service;
>      * @return the search service endpoint url
>      */
>     function getSearchServiceEpisodeIdURL()
>     {
>         var restEndpoint = "../../search/episode.xml?id="; // Production
>         //var restEndpoint = "xml/episode.xml?id="; // Activate for testing 
> purposes
>         //var restEndpoint = "episode-segments.xml?id="; // Activate for 
> testing purposes
>         return restEndpoint;
>     }
> 
>     function getSearchServiceEpisodeJsonURL()
>     {
>         var restEndpoint = "../../search/episode.json"; // Production
>         return restEndpoint;
>     }
> 
>     /**
>      * @memberOf Opencast.engage
>      * @description Gets the current load progress
>      * @return The current load progress
>      */
>     function getLoadProgress()
>     {
>         if (loadProgressPercent === -1) return -1;
>         else
>         {
>             var duration = Opencast.Player.getDuration();
>             return duration * loadProgressPercent / 100;
>         }
>     }
> 
>     /**
>      * @memberOf Opencast.engage
>      * @description Sets the current load progress
>      * @param The current load progress
>      */
>     function setLoadProgressPercent(value)
>     {
>         if (0 <= value && value <= 100)
>         {
>             loadProgressPercent = value;
>         }
>     }
> 
>     /**
>      * @memberOf Opencast.engage
>      * @description Returns a specific Cookie
>      * @param name Name of the Cookie to return
>      * @return a specific Cookie with the Name 'name'
>      */
>     function getCookie(name)
>     {
>         var start = document.cookie.indexOf(name + "=");
>         var len = start + name.length + 1;
>         if ((!start) && (name != document.cookie.substring(0, name.length)))
>         {
>             return null;
>         }
>         if (start == -1) return null;
>         var end = document.cookie.indexOf(';', len);
>         if (end == -1) end = document.cookie.length;
>         return unescape(document.cookie.substring(len, end));
>     }
> 
>     return {
>         getCookie: getCookie,
>         getPlayerType: getPlayerType,
>         getLoadProgress: getLoadProgress,
>         setLoadProgressPercent: setLoadProgressPercent,
>         getSearchServiceEpisodeIdURL: getSearchServiceEpisodeIdURL,
>         getSearchServiceEpisodeJsonURL: getSearchServiceEpisodeJsonURL
>     };
> }());
> 
> Functions are defined at the top and then an object literal is returned at 
> the end with all the members. Although this code works fine is there a reason 
> why we are not implementing it as follows:
> 
> Opencast.engage = (function ()
> {
>     var loadProgressPercent = -1,
>         that = {};
> 
>     /**
>      * @memberOf Opencast.engage
>      * @description Gets player type ("watch" or "embed")
>      * @return the player type
>      */
>     that.getPlayerType = function(){
>         var pathname = window.location.pathname;
>         return pathname;
>     };
> 
>     /**
>      * @memberOf Opencast.engage
>      * @description Gets the url to the search service;
>      * @return the search service endpoint url
>      */
>     that.getSearchServiceEpisodeIdURL = function(){
>         var restEndpoint = "../../search/episode.xml?id="; // Production
>         //var restEndpoint = "xml/episode.xml?id="; // Activate for testing 
> purposes
>         //var restEndpoint = "episode-segments.xml?id="; // Activate for 
> testing purposes
>         return restEndpoint;
>     };
> 
>     that.getSearchServiceEpisodeJsonURL = function(){
>         var restEndpoint = "../../search/episode.json"; // Production
>         return restEndpoint;
>     };
> 
>     /**
>      * @memberOf Opencast.engage
>      * @description Gets the current load progress
>      * @return The current load progress
>      */
>     that.getLoadProgress = function(){
>         if (loadProgressPercent === -1) return -1;
>         else
>         {
>             var duration = Opencast.Player.getDuration();
>             return duration * loadProgressPercent / 100;
>         }
>     };
> 
>     /**
>      * @memberOf Opencast.engage
>      * @description Sets the current load progress
>      * @param The current load progress
>      */
>     that.setLoadProgressPercent = function(value){
>         if (0 <= value && value <= 100)
>         {
>             loadProgressPercent = value;
>         }
>     };
> 
>     /**
>      * @memberOf Opencast.engage
>      * @description Returns a specific Cookie
>      * @param name Name of the Cookie to return
>      * @return a specific Cookie with the Name 'name'
>      */
>     that.getCookie = function(name){
>         var start = document.cookie.indexOf(name + "=");
>         var len = start + name.length + 1;
>         if ((!start) && (name != document.cookie.substring(0, name.length)))
>         {
>             return null;
>         }
>         if (start == -1) return null;
>         var end = document.cookie.indexOf(';', len);
>         if (end == -1) end = document.cookie.length;
>         return unescape(document.cookie.substring(len, end));
>     };
> 
>     return that;
> }());
> 
> It would inevitably result in the same thing but could be slightly cleaner 
> and with less code, especially if an object has many members. I ask because I 
> would like to implement MH-7135 in a style that is acceptable to the rest of 
> the community. Kindly advise.
> 
> Regards,
> 
> Edmore Moyo
> UCT
> 
>  
> 
> ###
> 
> UNIVERSITY OF CAPE TOWN
> 
> 
> This e-mail is subject to the UCT ICT policies and e-mail disclaimer 
> published on our website at 
> http://www.uct.ac.za/about/policies/emaildisclaimer/ or obtainable from +27 
> 21 650 9111. This e-mail is intended only for the person(s) to whom it is 
> addressed. If the e-mail has reached you in error, please notify the author. 
> If you are not the intended recipient of the e-mail you may not use, 
> disclose, copy, redirect or print the content. If this e-mail is not related 
> to the business of UCT it is sent by the sender in the sender's individual 
> capacity.
> 
> 
> ### 
> _______________________________________________
> Matterhorn mailing list
> [email protected]
> http://lists.opencastproject.org/mailman/listinfo/matterhorn
> 
> 
> To unsubscribe please email
> [email protected]
> _______________________________________________

_______________________________________________
Matterhorn mailing list
[email protected]
http://lists.opencastproject.org/mailman/listinfo/matterhorn


To unsubscribe please email
[email protected]
_______________________________________________

Reply via email to