穹顶灯打不出阴暗面_最佳实践的阴暗面

穹顶灯打不出阴暗面

最佳实践是软件开发的基础(有人告诉我们)。 每个开发人员对软件开发过程,体系结构和编程都有自己的看法。

这些意见基于教育,个人经验以及其他软件开发人员的经验。

这些意见也被称为最佳实践,每个软件公司都有它们。

最佳实践是件好事吗? 不必要。 我认为最佳实践的弊端常常被忽视。

当心黑暗面

最佳做法本身并不危险。 当它们被滥用或误解时,它们将变得危险。 可悲的是,这很普遍。

以我的经验,滥用最佳实践的三种最常见方法是:

最佳实践被视为“银弹”

当最佳实践被视为最终解决方案时,不允许质疑它们。 如果我们不能质疑特定最佳实践背后的原因,那么我们将无法理解为什么它比其他可用解决方案更好。

这意味着我们失去了学习和改善当前状况的机会。

如果我们生活在一个静态的世界中,这将是一个有效的策略。 当然不是这样。 我们都知道,新技术正在Swift发展。

我们确定要被抛在后面吗?

最佳实践用于办公室政治

在这种情况下,将使用最佳实践来增强特定群体的利益。 两种最常见的方法是:

首先 ,最佳实践用于确保高级开发人员和建筑师的地位和权威。 整个组织必须使用高级开发人员和架构师熟悉的技术和编程语言。 所有新技术和编程语言都因为太年轻和不成熟而被关闭。

其次 ,将最佳做法用作营销工具。 他们的目的是给人一种幻想,即该组织正在遵循良好的软件开发实践。 拥有外观良好的外观是唯一重要的,因为

  1. 它使公司在客户眼中看起来不错。
  2. 这使中层管理人员在上级领导面前看起来不错。

但是,现实情况是,没有人关心这种情况。

好吧,这并非完全正确。 开发人员可能会在乎,但他们常常被要求弯腰为团队争取一个。

办公室政治的问题在于,它会激励所有无法从中受益的人。 这听起来对我们来说是一个值得的目标吗?

最佳实践鼓励工程

有时,最佳实践会导致诸如架构,设计模式和重用之类的概念受到重视。 遵循这些原则执行的程序(或组件)通常是过度设计的怪兽。 由一组建筑师设计的软件如此复杂,真是令人惊讶。

这种情况是由于无法理解可重用组件(框架,库或服务)与应用程序之间的差异而引起的。 区别很明显:

  • 在创建可重用组件时,我们必须将其设计为可重用。
  • 在创建应用程序时,我们必须专注于该应用程序的需求。

过度设计可能永远不会重复使用的代码是没有意义的。 但是,如果我们认为在每种情况下都应使用相同的设计原则,就会发生这种情况。

那我们该怎么办?

首先,我们应该做好我们的工作。 如果妨碍了最佳做法,则我们不应遵循这些最佳做法。 这听起来可能有点激进,但是我们应该理解,最佳实践的整体思想是找到开发软件的最佳方法。 因此,遵循没有帮助我们实现该目标的最佳实践是没有意义的。

我们必须了解,没有灵丹妙药。 这意味着没有一种方法可以适用于所有情况。 我们大多数人都理解这一点,但是由于某些原因,当我们听到最佳做法一词时,我们会忘记这一点。

我们不应将最佳实践视为灵丹妙药,而应该理解,最佳实践是一种在特定前提条件成立的情况下有效的方法。 如果我们了解这一点,很明显

  • 我们必须很好奇,不断寻求更好的解决方案。 问题是我们每天都在学习新事物。 今天有意义的最佳实践下周可能会变得愚蠢。 我们必须记住,没有什么可以永远存在。 甚至没有最佳实践。
  • 当最佳实践没有任何意义时,我们必须勇于挑战。 我们可能错了,但是如果我们不挑战最佳实践,我们将永远不会知道真相。 我们真的可以忍受吗?
  • 我们不应遵循未正确解释的最佳做法。 相反,我们应该要求更好的解释。 如果没有给出,我们应该忽略它。 只有傻瓜才采用他不理解的方法。

最后,最佳实践只是意见。 确实,有些意见比其他意见更有分量,但这并不意味着这些意见不能被证明是错误的。 我认为,我们有责任推翻尽可能多的最佳做法。

为什么?

它帮助我们找到更好的方法来完成工作。

参考: Petri Kainulainen博客上来自我们JCG合作伙伴 Petri Kainulainen 的最佳实践阴暗面

翻译自: https://www.javacodegeeks.com/2013/08/the-dark-side-of-best-practices.html

穹顶灯打不出阴暗面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值