Hacker News new | ask | show | jobs
by josho 3535 days ago
> Regarding the properties I really don't get what is the big deal.

I used to feel the same as you, then I dabbled with Rails. I think the deal is that in Java there is a lot of noise in the code. So, developing feels like you need to do a lot of yak shaving before you get to actually work on what you intend to build.

As a result, properties on their own isn't a big deal, but it's one more thing to slow you down and make things a little less enjoyable.

1 comments

Are people manually writing getters and setters? Every Java IDE I've used has the ability to generate them for you.
I think that the point is that you shouldn't have to rely on an IDE in the first place.
Code generation is a design smell. You shouldn't need it, and it makes the code terrible and less readable. Use Lombok, not the IDE.
When I see some one complaining code generation being design smell I gag a little at this hackneyed Fowler expression. I'm curios what do you think lambok does?
It does code generation. What id does not is _source_ code generation. That is, you never see the code Lombok generates, never have to maintain it, and never have a chance to break it by editing. You can see it as a macro substitution.

OTOH IDE-generated code is "normal" source code, adding boilerplate to your "real" code, not tracking changes in it automatically, and perfectly breakable.

"Code generation is a design smell."

What do you think Lombok is doing?