On 12/09/2014 11:58 AM, Kevin L. Mitchell wrote: > On Tue, 2014-12-09 at 10:05 -0500, Sean Dague wrote: >> Sure, the H8* group is git commit messages. It's checking for line >> length in the commit message. > > I agree the H8* group should be dropped. It would be appropriate to > create a new gate check job that validated that, but it should not be > part of hacking. > >> H3* are all the module import rules: >> >> Imports >> ------- >> - [H302] Do not import objects, only modules (*) >> - [H301] Do not import more than one module per line (*) >> - [H303] Do not use wildcard ``*`` import (*) >> - [H304] Do not make relative imports >> - Order your imports by the full module path >> - [H305 H306 H307] Organize your imports according to the `Import order >> template`_ and `Real-world Import Order Examples`_ below. >> >> I think these remain reasonable guidelines, but H302 is exceptionally >> tricky to get right, and we keep not getting it right. >> >> H305-307 are actually impossible to get right. Things come in and out of >> stdlib in python all the time. >> >> >> I think it's time to just decide to be reasonable Humans and that these >> are guidelines. >> >> The H3* set of rules is also why you have to install *all* of >> requirements.txt and test-requirements.txt in your pep8 tox target, >> because H302 actually inspects the sys.modules to attempt to figure out >> if things are correct. > > I agree that dropping H302 and the grouping checks makes sense. I think > we should keep the H301, H303, H304, and the basic ordering checks, > however; it doesn't seem to me that these would be that difficult to > implement or maintain.
Well, be careful what you think is easy - https://github.com/openstack-dev/hacking/blob/master/hacking/checks/imports.py :) -Sean -- Sean Dague http://dague.net _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev