<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">On Mar 4, 2016, at 10:51 AM, Michael Catanzaro <<a href="mailto:mcatanzaro@igalia.com" class="">mcatanzaro@igalia.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">- Style guide should encourage programmers to use final instead of override whenever possible. I suspect many of the functions that currently are tagged override should be final instead. Agreed?<br class=""></blockquote><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">What's your reasoning for this suggestion?</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></div></blockquote></div><div class=""><br class=""></div><div class="">These are internal interfaces within the project. If we later find out we need to override in a derived class, at that time we can change final to override.</div><div class=""><br class=""></div><div class="">As long as we don’t need to override in a derived class, having something marked final instead of override lets the compiler do more optimization. And it tells someone reading the code that there is no further overriding in derived classes. Also, the word final is shorter.</div><div class=""><br class=""></div><div class="">It’s similar to why we want people to make things as private as possible, preferring private to protected and protected to public. We can always make them more private later.</div><div class=""><br class=""></div><div class="">— Darin</div></body></html>