[openstack-dev] Continuous deployment - significant process change

Robert Collins robertc at robertcollins.net
Wed May 1 04:55:53 UTC 2013


On 1 May 2013 15:14, Christopher Yeoh <cbkyeoh at gmail.com> wrote:

>
> Having  a lot of disabled code makes it much harder to do various cleanups
> which cross a lot of code. People end up spending time trying to adapt
> solutions for code which is hardly used or not used at all.

Code behind an if is not disabled code. It is no different than having
a different driver for hyperv: All of the code at play at any point in
time is visible and able to be considered.

> I'm not a fan of having lots of enabling/disabling switches either. Even if
> we accept new features initially with a disable switch I think the aim in
> most cases should be to remove that switch before a release is made.
> Otherwise long term we end up with a maze of switches with potentially
> complicated dependencies between them.

This is a fear, I understand that. But its not the reality of this
style of development.

It would be bad engineering to write
if foo:
  if bar:
    case 1
  else:
    case 2
else:
  if bar:
    case 1
  else:
    case 2

And the point here is to do better engineering, not worse. Where
better includes mitigated risk, incremental exposure to risk, earlier
and more comprehensive adoption and end user testing.

-Rob

-- 
Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Cloud Services



More information about the OpenStack-dev mailing list