当前位置:主页 > 轻量服务器 >

企业网站_破云百度云网盘下载_免费申请

好的,入场券。我一直在避免读Nassim Nicholas Taleb最近出版的一本三年前的书《反敏捷》。没有什么反对塔勒布的;我在推特上关注他,真的很喜欢他早期的书《黑天鹅》和《被随机性愚弄》。我的一个朋友用一个词概括了他的观点:"嗯"。我仍然记得《纽约时报》上一篇枯燥无味的评论,微博淘客,其中包括这样一句话:

"不幸的是,他用欺凌的夸张和令人讨厌的自我渲染的旁白来讲授这些课程。"

哎哟。但这个周末,我终于读到了。从头到脚。我很喜欢。没有其他两本书那么多,但有很多值得一读。

它从反敏捷本身的概念开始。它不仅仅意味着不脆弱或不牢不可破。塔勒布用它来指一类在逆境中变得更好,在混乱中茁壮成长的事物。这就是为什么这本书的副标题是"从混乱中获得的东西"。

典型的例子是九头蛇,希腊神话中的多头生物。一个头被砍掉,两个头又长回原处。一个更常见的例子发生在健身房。当我举重时,我的肌肉会轻微撕裂。当他们痊愈时,云服务器是,我会更强壮,可以举起更多的重量。事实上,我们的整个身体都是不灵活的。据估计,我们体内每分钟大约有3亿个细胞死亡,但我们的身体会适应。

较小的单位往往比它们所属的更大、更复杂的系统更脆弱。个人比家庭更脆弱,家庭比社区更脆弱。社区、城市和国家之间也存在着同样的动态。

当然,并非所有社区和国家都一样灵活。罗马帝国可能不是一天建成的,51返利,但也不是一朝一夕的。然而罗马仍然存在。

那么一个组织如何变得更加敏捷呢?

出乎意料的是,它停下来试图保护它。稳定不一定是好的。没有变化,没有挫折,没有随机性,我们走得越久,当不可预知的事情最终发生时,后果就越糟糕。用塔勒布的话说,

"从长远来看,防止噪音会使问题变得更糟。[…]

"我一直非常怀疑任何形式的优化。在黑天鹅的世界里,优化是不可能的。你所能达到的最好的效果就是减少脆弱性和增强健壮性?Taleb同意我对"失败是新的黑色"的评价,如果你想变得更敏捷,你必须愿意犯错误并接受错误

这个博客最初是在2015年4月13日发布在Manage by Walking Around上的

请在Twitter、LinkedIn上关注我,大数据啥意思,和Google+。

在SCN上有好几个关于这个主题的博客。

我的解释是这个概念可以直接应用到编程中。

传统上,每次你改变一个程序时,逻辑会变得更复杂,大数据课程,因为你添加了额外的功能,并用复杂的解决方法修复了错误。每次做这样的更改都有可能破坏应用程序中一个不相关的区域。

做的更改越多,程序就越复杂,将来更改破坏程序的可能性就越高,即随着时间的推移,程序变得越脆弱,或者像罗伯特·马丁所说的"代码腐烂了",直到你害怕改变任何东西,害怕整个事情会崩溃。

他建议通过应用他所说的"童子军规则"来改变这一点,"总是让代码比你发现的更干净"。这可能涉及到重命名一个模糊的变量,这样你就可以知道它做了什么,或者把一个复杂的子例程分解成更小的部分,或者找出一些重复的代码并将其封装在自己的例程中。

在ABAP术语中,这可能涉及到将巨大函数组的一部分分解成做"一件事"的小类,或者更改程序以便添加单元测试。或者是一个扩展的程序检查或代码检查器检查。

你不需要做一百万个更改-只要一两个,而且所有的区域你都在更改。

那么下一个来更改程序的人会发现比以前更容易。因此,你在上面使用的肌肉的类比是100%相关的-在这种情况下,我们在程序中做了一个轻微的撕裂,然后把它放回比以前更强的地方。

这样,程序不但没有在每次遇到压力(被改变)时变得更脆弱,反而变得不那么脆弱。

讽刺的是,很多开发人员太害怕了这样做——做一个看似不相关的改变,比如把三块相同的代码放进一个在三个地方调用的例程——因为这是"危险的"。我说不这样做是危险的,在"干净代码"的前言中,罗伯特·马丁声称不这样做是不专业的。

前几天我修改了一份大量使用的报告,一份大约从2001年就没有被碰过的报告。

当功能分析师与我核对我所做的修改时,我说"我添加了这个功能,并修复了这个bug和这个bug,就像规范中说的那样"。事实上,规范有两行之长。

事实上,我还做了一个SQL跟踪,删除了所有相同的选择,做了一个SLIN和代码检查器,修复了所有的错误和警告,并重新命名了几乎所有的变量,使得TBL\U VBAK成为GT\U DELIVERIES(也就是说,该表总是用LIKP表中的值填充,但是被最初的程序员命名为TBL\u VBAK(我认为这有点误导),并且更改了子程序的名称,这样他们就知道了他们在做什么,并且去掉了95%的全局变量。但我有点掩盖了这一点。

正如我所说的,你可能需要很大的勇气才能做出这种大规模的改变,但是一个或两个这样的小改动是不太可能有风险的。

你所做的只是让下一个程序员的工作变得更容易-那很可能就是你。

干杯

保罗

我也做过类似的事情-并且会继续这样做,因为我认为不修复坏了的窗户是不专业的。

另一方面,虽然我的所有测试都没有显示出问题,但当用户得到他们的手时,我的重构并不总是100%完美。

尽管如此,任何这样的问题总是很容易解决的!

猜你喜欢

微信公众号