top | item 4790879

Redux: 12 Steps to Better Code

17 points| kellysutton | 13 years ago |layervault.tumblr.com

13 comments

order
[+] greatzebu|13 years ago|reply
Some of these steps seem very restrictive for no clear reason.

> 3. Do all employees deploy code on their first day?

You want to make sure that deployment is simple and streamlined enough that it's possible for a new employee to do it on their first day. That doesn't mean that you're doing it wrong if the receptionist doesn't deploy anything.

> 11. Do you discourage the use of IDEs?

You want to make sure that the code is easy to work, whether you're using Eclipse, vim, or whatever. So make that your goal. There's no clear purpose to be served by nagging people for using XCode if that's what they're most productive in.

[+] plant42|13 years ago|reply
> 11. Do you discourage the use of IDEs?

Surely it would more beneficial to mandate a build platform that is IDE agnostic and leave the choice of IDE to the individual developer preference.

[+] rhygar|13 years ago|reply
You can follow all 12 of these steps to the letter and still produce horrible code.
[+] kentosi|13 years ago|reply
Can someone explain why the discouragement of IDEs is seen as a good idea?
[+] scott_w|13 years ago|reply
3 is somewhat dependent on your system and customer base.

Not every product can just throw code out. For us, any changes that modify the database schema need to be thoroughly tested before going live. We simply can't leave that judgement up to someone on their first day.

However, being able to build a development or production environment in one click is a goal for us. If nothing else, it would save us time were someone to accidentally wipe their machine.

[+] dustismo|13 years ago|reply
uhh, what is a bus factor?

> 5. Is your bus factor greater than n/2, where n is the number of engineers?

[+] kuida0r3|13 years ago|reply
LMGTFY http://en.wikipedia.org/wiki/Bus_factor :)

The bus factor is the total number of key developers who would need to be incapacitated (as by getting hit by a bus/truck) to send the project into such disarray that it would not be able to proceed; the project would retain information (such as source code) with which no remaining team member is familiar.

[+] dia80|13 years ago|reply
The number of your people a bus would have to squish to screw your company.
[+] Kallikrates|13 years ago|reply
If an engineer steps infront of a bus does your company cease to exist?
[+] richo|13 years ago|reply
In your first post, you say that github only deploy from one branch.

I can't find the post offhand, but they now deploy feature branches, and only merge to master after deploying it, at which point they release their "shipping lock"

[+] jonphenow|13 years ago|reply
45 minutes? Perhaps you should refocus some effort on that. And I'm not talking CI.