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] _______________________________________________
