<p>Prefixing variable and method names with an underscore is a common convention for marking things as private. Why does all the methods on the page tracker class in the Google Analytics tracking code (<code>ga.js</code>) start with an underscore, even the ones that are clearly public, like <code>_getTracker</code> and <code>_trackPageView</code>?</p>

[{'answer_id': 59466, 'author': 'Vinko Vrsalovic', 'author_id': 5190, 'author_profile': 'https://Stackoverflow.com/users/5190', 'pm_score': 1, 'selected': False, 'text': "<p>Just in case you have a getTracker() function in your own code, or similar.</p>\n\n<p>In other words, to avoid naming conflicts with the page's javascript code, probably. </p>\n\n<p>@Theo: Didn't realize (ie, not read carefully enough) they were methods. Then maybe to encourage caution or discourage use? Dunno, really.</p>\n"}, {'answer_id': 59519, 'author': 'scunliffe', 'author_id': 6144, 'author_profile': 'https://Stackoverflow.com/users/6144', 'pm_score': 0, 'selected': False, 'text': '<p>I\'ve always read this like so:</p>\n\n<p>If the property/method is prefixed with an underscore, it is for some "internal" workings.  Therefore if you are about to use/call/alter this property/method, you had better darn well know what you are doing, and or expect it to possibly be renamed/removed in a future release.</p>\n'}, {'answer_id': 59769, 'author': 'Hank Gay', 'author_id': 4203, 'author_profile': 'https://Stackoverflow.com/users/4203', 'pm_score': 3, 'selected': False, 'text': '<p>Because Google can\'t be bothered to follow the <a href="http://yuiblog.com/blog/2007/06/12/module-pattern/" rel="noreferrer">Module Pattern</a> and therefore they don\'t want accidental collisions in the global namespace?</p>\n'}]
['https://Stackoverflow.com/questions/59462', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1109/']