软件开发态度

原文: SoftwareDevelopmentAttitude        设计    2004年3月8日            Bliki 索引

更新:请参阅Steve Freeman的 后续讨论

许多关于软件开发的论战都是以参战者是持 督导态度还是持 授权态度为背景根基展开的。这两种不同的态度至关重要,影响到对语言、设计、工具、过程等诸多方面的选择。

下边就是几个说明这种二元对立的例子:
  •     Joel关于exception的帖子引起了不久前的一场论战:Joel说他讨厌exception,因为它可能被严重误用,导致代码混乱(Joel持督导态度);而Bill Caputo反驳说exception用得好生活更美好(Bill持授权态度)。
  •     静态类型与动态类型之争是另一个例证:静态类型支持者论说着他们如何防止人们犯一些错误(督导),而动态类型支持者则驳斥说静态类型怎样束缚了某些有用的惯用法的使用(授权)。
  •     敏捷方法人本导向(授权),而计划驱动的方法则试图保证即便是一个水平不济的团队也能做出尚可的工作(督导)。

    所谓态度,并非固化不变的,人们往往在一些情况下持督导态度,另一些情况则持授权态度。但我觉得这个问题始终穿插渗透着一种个人骨子里的东西,个人的好恶爱憎常左右着我们对“软件应该如何做”的讨论。(或许你没法断定,我无疑是站在授权派这边的。)

    只要是对开发者做限制的,可能你会觉得它们都是督导态度的体现,其实并不那么简单,比如考虑一下内存管理:由于不信任程序员们能自己妥当地把内存管好,干脆不让他们管了——你可能会说这是种督导态度,可我却恰恰认为这是种授权性的技术——我本来就不想为这事操心,它正好帮我排忧解难了,于是我能更投入地把心思放在真正需要操心的事上。Steve把这一思路同“问题与困难之间的差异” 巧妙地结合在了一起。



督导态度        原文: DirectingAttitude

两种 软件开发态度之一。督导态度认为,既然多数开发者并不那么优秀(流传着一种说法:近半数程序员在普通水平之下),我们就有必要对他们的工作方式加以监督指导,这种督导能够防止他们对工作平台造成破坏。有一些设计和工具,它们不允许开发者做某些特定的操作,这种限制让他们回避掉了一些麻烦问题——这就是典型的督导态度的体现。

授权态度的人批评这是种“鞭子+镣铐”的心态,他们说这无异于掩耳盗铃,因为白痴们其实都是天才,无论什么系统他们都能想出办法搞坏掉。


授权态度        原文: EnablingAttitude

两种 软件开发态度之一。授权态度认为开发者身为可信赖的专业人士,应该给他们自由,他们需要做什么就允许他们做什么。一些秉持这种态度的设计能让东西用起来非常得心应手—— 前提是假定开发者们清楚自己在做什么,这样就没必要费脑筋防止那些不对头的操作了。因此,这样的工具可能会被误用,但要相信使用者们足够聪明,如果他们犯傻了,那也怪不得别人。

督导态度的人批评这种态度太“精英化”,只适用于四分之一最优秀的人,而全体软件开发者的能力呈钟状的正态分布,因此并不适用。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值