2012/3/13 Lluís Vilanova <vilan...@ac.upc.edu>: > Adds decorators to establish which backend and/or format each routine is meant > to process. > > With this, tables enumerating format and backend routines can be eliminated > and > part of the usage message can be computed in a more generic way. > > Signed-off-by: Lluís Vilanova <vilan...@ac.upc.edu> > Signed-off-by: Harsh Prateek Bora <ha...@linux.vnet.ibm.com> > --- > Makefile.objs | 6 - > Makefile.target | 3 > scripts/tracetool.py | 320 > ++++++++++++++++++++++++++++++++------------------ > 3 files changed, 211 insertions(+), 118 deletions(-)
I find the decorators are overkill and we miss the chance to use more straightforward approaches that Python supports. The decorators build structures behind the scenes instead of using classes in an open coded way. I think this makes it more difficult for people to modify the code - they will need to dig in to what exactly the decorators do - what they do is pretty similar to what you get from a class. I've tried out an alternative approach which works very nicely for formats. For backends it's not a perfect fit because it creates instances when we don't really need them, but I think it's still an overall cleaner approach: https://github.com/stefanha/qemu/commit/3500eb43f80f3c9200107aa0ca19a1b57300ef8a What do you think? Stefan