
在软件工程中,有一个普遍的观点认为工程师只有在理解内部工作原理时才应该使用框架。这是一个谬论。
为什么我们必须了解内部工作原理——细节真的那么重要吗?有些人可能会说无知是福。
汽车引擎
让我们来看看汽车的引擎:
有多少人真正知道引擎是如何工作的?
你能告诉我为什么它被称为四冲程引擎吗?
每个冲程都做什么?
四冲程引擎和二冲程引擎有什么区别?
有人知道吗?
然而我们仍然开着我们的汽车,从不思考汽车是”如何”把我们送到目的地的。
我们通过方向盘、变速杆、油门踏板和刹车与汽车进行交互。
谁在乎它是如何工作的,只要它能把我们送到目的地就行。当汽车出故障时,我们把它送到专家那里。
企业的核心竞争力
在商业中,公司拥有使其具有竞争力的专业知识。这被称为公司的核心竞争力。
核心竞争力可以是一个流程或一个产品。
为了保持竞争力,公司必须不懈地改进其核心竞争力。将资源用于支持公司核心竞争力以外的活动会削弱公司的竞争优势。这为竞争对手超越公司的竞争优势打开了机会之窗。
这个想法最好用一个例子来说明。
苹果
苹果以其简洁性和美丽的产品而闻名。你可能认为这很容易复制,但事实并非如此,问问三星、HTC和微软就知道了。
为什么这些公司失败了?因为简单很难,而苹果是简单方面的专家。
个人的核心竞争力
核心竞争力也可以应用于个人。
是什么让你与众不同?
为了发展你的核心竞争力,你必须严格专注于一个领域,有时需要数年时间,获得洞察力和知识,使你与他人区别开来。
就像在商业中一样,为了保持你的竞争优势,你必须不断磨练你的核心竞争力。
使用小组件
软件工程师与公司或任何其他专业人士没有什么不同。我们必须挑选和选择我们学习的内容,以保持与我们核心竞争力的一致性。
理解我们使用的每个框架的内部结构是不现实的,而且很耗时。我期望框架的作者是框架领域的专家,因此,我不需要知道它的内部工作原理。
这不正是软件的意义所在吗——使用黑盒化的功能位来产生更大更复杂的作品?我相信是的。
最终,这归结为专注和时间,两者都是有限的。
作者:Chuck Conway 专注于软件工程和生成式人工智能。在社交媒体上与他联系:X (@chuckconway) 或访问他的 YouTube。