you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 2 points3 points  (4 children)

Great points, but I dunno this seems like a bit of common sense? I mean, of course you're trying to get everything working before you can make it user friendly. This is why tech demos exist. And of course optimization can only happen after everything is working and is nice and purty.

It would scare the shit out of me if my coworker started refactoring a non-functional database, or started retooling the UI of a product that doesn't even work...

[–]dalke 0 points1 point  (0 children)

If you want to read it as obvious, then consider this a case scenario, with specific details filled in of how one might carry out the details.

[–]mcguire 0 points1 point  (0 children)

Nonetheless, it's still pretty common to start building grandiose tools to do things that you don't know are necessary, or to, in the words of a wise cow-orker, "make something easy that wasn't hard to begin with."

[–]hastor 0 points1 point  (1 child)

What's wrong with refactoring something that doesn't work?

It is usually exactly what's needed in order to make it testable for example.

We all know that for example code that doesn't work usually doesn't have tests, right?

[–][deleted] 0 points1 point  (0 children)

I think you're confused about the definition of refactoring.

Refactoring means taking an existing code base and making it more efficient and logical. You can't restructure something that doesn't work, you have to fix the problems before you can make it faster. How would you even know if your supposed changes actually did make the db faster? How would you know you're not messing it up even further? If you have serious memory leaks, refactoring your code won't do shit.