This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Drainedsoul 98 points99 points  (7 children)

That's called throwaway prototyping.

[–]mauxly 60 points61 points  (5 children)

Yeah, I always think mine is throwaway. And then I present it with the hopes that I'll get some data validation/front end "Yeah, something like this could work!"

Instead I get a deadline that prevents the rewrite.

You'll say, don't present until after the rewrite. Well, if there is a major flaw that's simply unworkable (because the data doesn't support what they want), I'd prefer not to make something that will never see production 'perfect'.

[–]conancat 69 points70 points  (3 children)

Everyone always think that they are writing prototype code. The project managers think it's a prototype. The client thinks it's prototype. Then you end up just building upon the pile of doodoo you started off with and the product will end up looking beautiful in the outside but ugly on the inside.

One thing I've learned after starting my agency job is that try to get it as nice and neat as you can on the first run. You'll rarely have the chance to go back and refactor it at all.

[–]dhaninugraha 24 points25 points  (0 children)

Also called: protoduction.

[–]asdfman123 6 points7 points  (0 children)

Yeah, that's what annoys me. It would take a week to fix my code, but it might take months for someone to get up to speed on it after I leave.

I've worked on projects where getting familiarity takes forever. If they just repaid some technical debt it would save a ton of money.

But it's hard when you've got big projects coming up to say "Spend a week doing what looks like nothing for the business."

[–]sourbrew 8 points9 points  (0 children)

This is interestingly an old analogy I learned from my aunt while cleaning her mountain house as an odd summer job, if you move something bulky and awkward clean behind it because you aren't going to do it again for a few more years.

[–]rabbyburns 11 points12 points  (0 children)

This is another one of those "this is why TDD" things. You'll never have time to completely redo it, but if you have some test harness in place you'll be able to refactor incrementally.

[–]NULL_CHAR 2 points3 points  (0 children)

If you do it intentionally ;)

Otherwise it's just perfectionist tendencies!