有成为10倍开发人员的捷径吗?是否有这样一个神奇的秘密,可以帮助我们打开一个软件开发掌握和生产力的全新世界?怀疑论者常说:“当然没有捷径!每个人都需要不断练习才能变得更好!”没错,但是什么是软件生产力实践的专家呢?有没有一把钥匙可以产生很大的不同?事物?答案是肯定的!但即使我现在与你分享并逐字逐句地告诉你,你可能需要10年的时间才能有足够的经验来欣赏它的极致简单。是的,这就是发生在我身上的事情。我在学校时的编程老师用通俗易懂的语言向我解释了它,并通过一些示例代码逐步教我如何使用它。然而直到10年后,我才真正明白。但是现在,有了以往的经验,我深刻地理解了这堂课的意义,现在就分享给大家。这个秘密是平均生产力和10倍生产力之间的主要区别,就像杠杆作用一样,可以让我们将效率提高几个数量级。生产力提高10倍的秘诀是学习如何抽象。许多开发人员认为“抽象”是一个肮脏的词。或许你会经常听到这样的建议,比如“不要过早抽象”或者Python之禅中著名的“显式优于隐式”,意思是具体(Concrete)优于抽象。这些建议都很有价值,但也取决于问题的上下文。现代应用程序通常代码量很大。如果我们打印出前10大现代应用程序的源代码,那一叠纸将有摩天大楼那么高,因此您可以想象维护软件的成本是多么高昂。也就是说,你写的代码越多,成本就越高。抽象是简单代码的关键正确的抽象可以隐藏对当前上下文不重要的细节并减少执行相同工作所需的代码量(通常减少几个数量级),使代码更具可读性、适应性等可管理的可维护性。简单就是去除显而易见的东西并添加有意义的东西。——JohnMaeda《简单的法则》抽象不是单行道。它实际上由两个互补的概念组成:泛化——删除重复的(明显的)部分并将其隐藏在抽象之后。专业化——将抽象应用于特定的用例,只添加需要不同的东西(有意义的东西)。考虑以下代码:constdoubleList=(list)=>{constnewList=[];for(vari=0;i
