python-minifier icon indicating copy to clipboard operation
python-minifier copied to clipboard

Optimizing classes

Open thomasahle opened this issue 3 years ago • 1 comments

The code

class Test:
    def my_method(self, argument):
        return argument + argument

gets transformed into

class E:
	def my_method(B,argument):A=argument;return A+A

In other words, it seems method names aren't getting replaced, and some (all non-self?) arguments aren't getting renamed either.

I'm sorry if this duplicates issue #7, but I think it's different.

Is the idea that the minifier shouldn't rename "public APIs" like classes? In my case this is not an issue, so maybe there could be a flag? Also, the class itself is getting renamed, so maybe this is not the case at all.

thomasahle avatar Jan 05 '23 08:01 thomasahle

Also, this is probably out of scope, but if we consider namedtuples a kind of classes in python, it would be awesome to optimize

from collections import namedtuple
Test = namedtuple('Test', 'arg1 arg2 arg2')
t = Test(1, 2, 3)
print(t.arg1 + t.arg2 + t.arg3)

by renaming the arguments. Currently it gets minified to:

from collections import namedtuple as E
F=E('Test','arg1 arg2 arg2')
B=F(1,2,3)
print(B.arg1+B.arg2+B.arg3)

thomasahle avatar Jan 05 '23 08:01 thomasahle