

Redux: 12 Steps to Better Code - kellysutton
http://layervault.tumblr.com/post/35779546115/a-year-later-12-steps-to-writing-better-web-code

======
greatzebu
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
> 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
You can follow all 12 of these steps to the letter and still produce horrible
code.

------
kentosi
Can someone explain why the discouragement of IDEs is seen as a good idea?

------
scott_w
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
uhh, what is a bus factor?

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

~~~
kuida0r3
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.

~~~
dustismo
uhh, what is LMGTFY? (I actually just googled that, lol)

~~~
jefflamth
"Let Me Google That For You"

------
richo
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
45 minutes? Perhaps you should refocus some effort on that. And I'm not
talking CI.

