<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>-1 on locals()</div><div><br></div><div>-1 on adding kwargs to OpenStack logging methods.  It's replacing one type of magic with another type.</div><div><br></div><div>It may not be perfect, but Python has a well established logging module.  When we make decisions to create custom variants of python internals with different method signatures we actually make this project harder for new developers to join.  We're also breaking one of the ideals of Python "There should be one-- and preferably only one --obvious way to do it."  This is from the Zen of Python (If you've never read it, start up the interpreter and type 'import this').  Having the option to pass a dict via the args param or using the proposed kwargs parameter violates this concept.</div><div><br></div><div>I also do not accept that dictionaries created in code have any readability impact when properly styled.  A method call with many keyword args is just as ugly.</div><div><br></div><div>There are also performance considerations about constructing dictionaries and I'd like to point everyone to Doug Hellman's written article  about dictionary construction performance.</div><div><br></div><div><a href="http://www.doughellmann.com/articles/misc/dict-performance/index.html">http://www.doughellmann.com/articles/misc/dict-performance/index.html</a></div><div><br></div><div>mark</div><div><div><br><div><div>On Feb 8, 2013, at 7:02 AM, Sean Dague <<a href="mailto:sdague@linux.vnet.ibm.com">sdague@linux.vnet.ibm.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">On 02/08/2013 12:13 AM, Jay Pipes wrote:<br><blockquote type="cite">On 02/07/2013 09:58 PM, Sean Dague wrote:<br><blockquote type="cite">On 02/07/2013 06:04 PM, Nachi Ueno wrote:<br><blockquote type="cite"><blockquote type="cite">I suspect we should just slowly transition as people touch code.<br></blockquote><br>I agree. The reason why I asked this is for reviewing.<br>so I'll comment not to use local() in review.<br></blockquote><br>If we have rough concensus start with updating HACKING in the relevant<br>projects. Then I suggest a grind through replacing the code. Once it's<br>out we can enforce it in hacking.py (comming soon to a project near you,<br>and not just in nova and tempest).<br></blockquote><br>Go for it. Jason's suggestion for allowing LOG.debug() et al messages to<br>allow kwargs would make things much more readable than supplying huge<br>manually-coded dicts.<br></blockquote><br>+1, that was a nice suggestion.<br><br>-- <br>Sean Dague<br>IBM Linux Technology Center<br>email: <a href="mailto:sdague@linux.vnet.ibm.com">sdague@linux.vnet.ibm.com</a><br>alt-email: <a href="mailto:sldague@us.ibm.com">sldague@us.ibm.com</a><br><br><br>_______________________________________________<br>OpenStack-dev mailing list<br><a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev<br></blockquote></div><br></div></div></body></html>