4 ms·
How does Dark handle code review? Even if I was willing to accept the other tradeoffs that come with Dark, I'd want another human to approve my changes before
by sciurus 7y ago
How does Dark handle code review?
Even if I was willing to accept the other tradeoffs that come with Dark, I'd want another human to approve my changes before that 50ms deploy to production kicks off.
- jmull 7y agoI don't think they've detailed that yet, at least not that I've seen. But it is one of the few steps the Dark deployment process retains (see the diagram near the end of the article), so it seems they will support it (hopefully reasonably well).
- londons_explore 7y agoSeems easy enough... Write whatever code you like, directly in production, but feature flags will be forced to zero (or to just your own test users) until code review passes... It requires the language to have a bulletproof feature flag system which can't be bypassed, which it seems is the goal.
- pbiggar 7y agoThe model is quite different to how people write code today. Instead of a process that takes code from your machine and sends it to prod (and thus has a lot of risk), you code in a sorta sandbox _in prod_. That is then enabled for users via changing the feature flag setting. So to do code review, you write the code behind the feature flag, then ask someone for code review. (There's google-docs style collaboration, so they can see your code if you permit it). After code review, you can "merge" by toggling the feature flag, or changing the setting to "let 10% of users see this" or whatever roll-out strategy you want. just safely. So you're writing code behind a feature flag (but "in prod"), but no users can see it.
- dkordik 7y agocool- I guess there is some concept of a snapshot/diff to show you the before and after?
- pbiggar 7y agoNot currently but I'm sure there will be at some point.
- theamk 7y agoSo what protects you from accidentally doing “DELETE TABLE users” on prod? In traditional design, there will be pre-commit code reviews and staging env with limited access. But looks like Dark get rids of all of this?
- pbiggar 7y agoGood question. The answer to most questions like this is "it'll probably be the same as now". I know it seems like everything is different, but we're not really trying to invent much new stuff, only what's required to take stuff out. Whenever things from today work, we'll keep them. Core review, testing, ways of preventing deleting everything on prod; they're all valuable.