5 ms·
Here's a priority list that you should typically follow for making anything. 1. Make it work. 2. Make it not break. 3. Make it fast. That's it really. Unti
by ogreveins 10y ago
Here's a priority list that you should typically follow for making anything.
1. Make it work.
2. Make it not break.
3. Make it fast.
That's it really. Until the performance of something is blocking what you need to do somewhere else leave it the hell alone.
- reefoctopus 10y ago4. Make it manageable.
- ianstormtaylor 10y agoI'd probably swap them: 1. Make it work. 2. Make it not break. 3. Make it manageable. 4. Make it fast. Otherwise I find that trying to make something fast before making it manageable usually ends up in crazy hacks that are hard to undo later.
- ogreveins 10y agoI'd agree with this. My last couple of projects did have a couple of hacks that bordered on spaghetti code until they were sufficiently cleaned up.
- stevetrewick 10y ago3.5 Profile it to see whether or not it needs to be faster
- gohrt 10y agoIt's less likely to break if it's manageable first.
- koolba 10y ago4. Throw it away and rebuild it now that you know how it really should work.
- 6stringmerc 10y agoIn some cases this is excellent advice regarding a story or essay re-write as well.
- b3550943 10y agoThat's a pretty bad idea. You should only do a from scratch rewrite because of technical reasons (nobody is proficient in COBOL anymore, python is too slow, etc).
- eterm 10y agoI've seen that as: 1. Make it 2. Make it work 3. Make it fast
- danieltillett 10y ago1. Make it work. 2. Ship it before your competitor does.
- rednab 10y agoPer (as far as I can tell) the original: http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast 1. Make it work. 2. Make it right. 3. Make it fast.
- ogreveins 10y agoWow, I honestly never read that. +1 for the link, I love old stuff like this.
- nickpsecurity 10y agoc2 is a great wiki. Start googling languages and programming phrases with site:c2.com at beginning. You'll find some good stuff. Unfortunately, its commenting got shut down shortly after I discovered it. I think I read all the debates and stuff. Too many haha. Note: The debates over LISP, OOP, Cleanroom, Smalltalk, and so on are all especially interesting.
- gohrt 10y agoMake it run, right, rapidly.
- blakeyrat 10y agoMake it USABLE. USABLE. Study its USABILITY. The world doesn't need more crummy unusable software.
- siliconc0w 10y agoI use crummy unusable software all the time because it's good.
- billylindeman 10y agoIn hardware dev I've followed a similar paradigm from an old mentor: 1) Make it work 2) Make it work better 3) Make it work cheap
- nickpsecurity 10y agoButler Lampson http://research.microsoft.com/en-us/um/people/blampson/33-hints/webpage.html http://research.microsoft.com/en-us/um/people/blampson/33-hi... Unfortunately, his current employer chose a different order: 3, 1, 2. Sometimes they drop 1, 2, or 3 separately or in groups at random. Gotten much better at 2 and 3, though.
- firebones 10y agoYour coda is often forgotten, and sometimes "Make it Fast" is essential to making it work. [1] http://c2.com/cgi/wiki?DesignForPerformance http://c2.com/cgi/wiki?DesignForPerformance