首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你要相信,这件事值得你集中所有的智慧和热情

“新泽西风格”的黑客攻击是由位于新泽西郊区的AT&T的Unix工程师发起的。AT&T在1956同美国政府达成了一项和解协议, 这使其无法进入计算机业务;因此,在整个1960年代,它可以自由地向其他私人公司和研究机构传播它所建立的计算机操作系统,称为Unix。这些机构会定期修改其源代码,使其在特定的小型计算机上运行。很快,改写Unix就成为了美国各大公司研发部门的一种文化现象。

几个开发小组为个人计算机重写了Unix。LinusTorvalds创建了他自己的版本,“Linux”,并将其免费发布,就像AT&T 免费发布Unix一样(正如下文所述,Linux取得了巨大的成功。)。Torvalds和其他Unix黑客所采取的方法是利用游戏性作为一种激励手段来构建有用的(如果困难的话)自由软件项目。当时,芬兰计算机科学家和哲学家Pekka Himanen 写道:“要正确地实践Unix哲学,你必须忠于卓越。你必须相信软件是一门手艺,值得你集中所有的智慧和热情。”

研发人员意识到“越差越好”

除了新泽西风格之外,软件工程师还开发了一套特殊的设计原则,与制度化软件的完美主义背道而驰。旧的方法一直说要建立“正确的东西”,但这种方法不仅浪费时间,而且往往导致过度依赖理论。“越差越好”的理念由Richard Gabriel在20世纪80年代早期提出,并在1991年由网景导航者的工程师Jamie Zawinski发表,集合了新泽西风格和黑客智慧的精华。该理念被认为是对MIT-Stanford黑客方法的实际改进。就像MIT的理念一样,“越差越好”注重软件的卓越性。但与MIT-Stanford不同,“越差越好”重新定义了“卓越”,以优先考虑的现实世界用户的积极反馈和采用而不是理论上的想法。

“越差越好”观点是,只要初始程序的设计能够清楚表达特定问题的解决方案, 那么在一开始实现一个“好”的版本并使其适应新情况所需的时间和精力将比直接构建“完美”版本所需的时间和精力更少。在早期就向用户发布软件和改进程序的过程有时被称为“迭代”开发。

迭代开发使得软件可以快速传播并从用户的真实反应中获益。在使用MIT方法编写的“更好”的版本有机会部署之前,早期发布并持续改进的程序往往早已获得了成功。在1981年和1982年发布的两篇具有开创性意义的论文中,“先发优势”的概念出现在软件行业, 这与Gabriel 将其关于网络软件为什么“越差越好”的想法正式化大约是在同一个时间段。

“越差越好”逻辑是优先考虑病毒式增长不是适应和完成。一旦一个“好”的程序广泛传播开来,就会有许多用户有兴趣对其进行改进,让它变得更加优秀

以下是“越差越好”原则的简略版本.。T他们告诫开发人员不要做那些在概念上令人满意的事情(“正确的事情”), 而是应该竭尽所能做出一个实际的、功能性的程序 (重点):

1.简单性:这是设计中最重要的考虑因素。

2.正确性:设计必须是问题的正确解决方案。简单比正确稍微好一点。

3.一致性:在某些情况下,一致性需要为简单让道,但是,最好能放弃那些处理不太常见情况的部分设计,而不是引入实现复杂性或不一致性。

4.完整性:设计必须涵盖尽可能多的重要情况。完整性可以为任何其他原则让道。实际上,只要危及实现的简单性,就必须牺牲完整性。

这些概念上的突破对于20世纪80年代早期的技术人员来说一定是令人兴奋的。但是,这种兴奋很快就会被业务的快速变化所浇熄。

明日预告:所以你的期待在哪里?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191004A0EBBE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券