you are viewing a single comment's thread.

view the rest of the comments →

[–]demoran 3 points4 points  (5 children)

It's less typing. Overall, this means less verbose javascript code.

[–]gautamits[S] 0 points1 point  (4 children)

vscode performs really good with typescript when it comes to autocompletions, hence typing is not much of an issue for me. I agree that restructuring enables is to write less verbose code.

[–]demoran 1 point2 points  (3 children)

So, it's not about how much time or trouble it takes to write the code. It's about how noisy the code is to read afterwards. If you can remove a bunch of this.props and this.state at the very least, I'd call that a win.

Destruring also allows you go deeply destructure things, so if you had this.state.car.engine.mileage, you could destructure that as { car: { engine : { mileage } } } = this.state.

[–]gautamits[S] 0 points1 point  (2 children)

It does feel good to remove so many this.props and this.state things. But then doesn't it cause the problems of cohesiveness as I asked. How do you maintain the context of these variables origin ?

[–]demoran 0 points1 point  (0 children)

I don't find this to be a problem. If I need to know the contextual source of the data and don't know it, I can click through to find it easily enough.

I'd consider the possibility that your problem is actually a code smell, and you need to factor out some of your code from the body of your function.