Why exactly is this a "code smell"? Typescript linter in WebStorm suggests moving out "looks like static" methods to independent functions.
Your "wrong code" could be a standalone function, at least in javascript. Not in java as it requires everything to be in a class. And, regarding java, creating an object on the stack, just to launch a method, and then destroy that object - it's a waste of resources. It could be inlined by the compiler, it introduces unnecessary mental overload on the developer (there is nothing to do in the constructor aside except for copying the state, and the state is evil as we all know).
Learn something new every day.
- I am a senior software engineer working in industry, teaching and writing on software design, SOLID principles, DDD and TDD.
Location
Buenos Aires
Education
Computer Science Degree at Universidad de Buenos Aires
Code must allways be in classes. We are doing POO here . So if the responsability is not in a class, who must carry it on?
I love structured paradigm. There you can put utility functions in a coupled library of uncohesive crap. But this is not true for real OOP.
Regarding waste of resources. I am not a premature optimizer. Unless we are doing mission critical code, I will always favor readability over performance.
I don't see why state is evil.
I think we are programming under different paradigms, and I am perfectly fine with it.
To me it is still a code smell.
Why does the code need to be in a class? Who said so? There are languages with no classes, and they are perfectly fine. You are into DDD, you should have taken it into consideration.
I will always favor readability over performance.
If you say that new Qwe().rty() is more readable than querty() you have weird understanding of readability :-)
To me it is still a code smell.
Ok. To YOU. You are not spreading generalized common knowledge, but YOUR opinion. That's fine.
Learn something new every day.
- I am a senior software engineer working in industry, teaching and writing on software design, SOLID principles, DDD and TDD.
Location
Buenos Aires
Education
Computer Science Degree at Universidad de Buenos Aires
Why exactly is this a "code smell"? Typescript linter in WebStorm suggests moving out "looks like static" methods to independent functions.
Your "wrong code" could be a standalone function, at least in javascript. Not in java as it requires everything to be in a class. And, regarding java, creating an object on the stack, just to launch a method, and then destroy that object - it's a waste of resources. It could be inlined by the compiler, it introduces unnecessary mental overload on the developer (there is nothing to do in the constructor aside except for copying the state, and the state is evil as we all know).
INMH, Typescript linter is wrong.
Code must allways be in classes. We are doing POO here . So if the responsability is not in a class, who must carry it on?
I love structured paradigm. There you can put utility functions in a coupled library of uncohesive crap. But this is not true for real OOP.
Regarding waste of resources. I am not a premature optimizer. Unless we are doing mission critical code, I will always favor readability over performance.
I don't see why state is evil.
I think we are programming under different paradigms, and I am perfectly fine with it.
To me it is still a code smell.
Why does the code need to be in a class? Who said so? There are languages with no classes, and they are perfectly fine. You are into DDD, you should have taken it into consideration.
If you say that
new Qwe().rty()
is more readable thanquerty()
you have weird understanding of readability :-)Ok. To YOU. You are not spreading generalized common knowledge, but YOUR opinion. That's fine.
I am fine with prototype based languages.
neither Qwe().rty(), nor querty() are readable to me.
I am spreading my opinions :)
We agree to disagree