不良信息拦截软件_不良软件是我们的错

不良信息拦截软件

劣质软件无处不在。 甚至可以声称每种软件都是坏软件。 酷公司,科技巨头,老牌公司都生产劣质软件。 不,您的也不例外。

谁应归咎于不良软件? 一切都很复杂,许多因素交织在一起–业务需求,组织环境,缺乏足够的熟练开发人员,软件开发固有的复杂性,抽​​象的漏洞,对第三方软件的依赖,错误的业务和购买决策的后果,时间限制,有缺陷的业务分析等。是的,尽管标题醒目,但我知道它实际上很复杂。

但是在每种“复杂情况”中,始终只有一两个因素具有决定性。 他们全都以某种方式做出了贡献,但主要驱动因素通常是少数。 对于基本软件,我认为这是技术人员的错。 开发人员,建筑师,操作人员。

我们似乎并不在乎最佳实践。 我将在这里进行一些令人讨厌的概括,但请允许我。 我们可以花几个小时讨论制表符与空格,换行符,git merge与rebase,哪种IDE更好,哪种框架更好以及其他与之无关的东西。 但是我们倾向于忽略代码本身以外的重要方面。 代码所处的上下文,非功能性需求-健壮性,安全性,弹性等。

我们似乎没有安全感。 即使是琐碎的事情,例如用户身份验证,也总是错误地实现 。 如今,Twitter和GitHub意识到,例如,他们一直在记录纯文本密码,但这仅是冰山一角。 我们经常忽略安全隐患。

也许有人会说:“但是企业没有要求安全功能。” 该企业从未要求进行2要素身份验证,静态加密,PKI, 安全(或任何)审计跟踪 ,日志掩盖,加密粉碎等,因为该企业不知道这些事情–我们做到了,我们必须将其积压,并争取将其实施。 每个组织都有其详细信息,技术人员可以以不同的方式影响待办事项,但几乎我们可以在任何地方进行处理并确定其优先级。

另一个方面是测试。 现在我们都应该意识到自动化测试是强制性的。 我们拥有世界上用于单元测试,功能测试,集成测试,性能测试和其他测试的所有工具,但是许多软件项目缺乏必要的测试覆盖范围,以便能够在不意外破坏事物的情况下进行更改。 “但是测试需要时间,我们没有时间”。 我们非常清楚,测试可以节省时间,因为我们所有人都已经做到了“不再!” 重复出现的错误。 但是,我们想到了各种各样的借口–“让质量保证机构对其进行测试”,“我们现在必须出货,稍后再进行测试”,“这太琐碎而无法测试”,等等。

您可能会说这不是我们的工作。 我们没有定义要做的事情,我们只是做它。 我们没有定义预算,范围,功能。 我们只写任何已决定的内容。 那是完全错误的。 从我们的代码中获利不是我们的工作,定义客户需求不是我们的工作,但除此之外,一切都是我们的工作。 软件的结构方式,安全性和安全性,代码库的稳定性以及软件在不同环境中的行为。 非功能性需求是我们的工作,将其积压在我们的工作中。

您可能听说过,每个软件在6个月后都会成为“旧版”。 那是因为我们,我们的草率,无力减轻外部因素和约束。 我们常常通过“仅仅做我们的工作”就造成混乱。

当然,这是一个概括。 我碰巧知道很多优秀的专业人士不会犯这些错误,他们追求卓越并以正确的方式实施事情。 但是我们整个行业却没有。 我们整个行业生产不良软件。 作为开发人员,这是我们的错。作为唯一知道为什么某个软件不好的人。

鲍勃·马丁Bob Martin)在谈到他的时候警告我们,我们会放任自流。 到目前为止,我们一直在构建网站,但是越来越多的建筑可以直接或间接地与现实世界互动。 最终,生活可能取决于我们的软件(例如最近由无人驾驶汽车造成的不幸死亡)。 我会同意鲍勃叔叔的意见,现在是时候让我们自我规范作为一个行业了,然后再由一些技术上无能的政治家决定这样做。

怎么,我不知道。 我们将不得不考虑更多。 但是我敢肯定,软件不良是我们的错,并且没有责怪管理,预算,时间,工具或过程会消除我们的责任。

为什么我坚持抨击我的软件工程师? 因为如果我们开始承担更多责任的软件开发; 知道如果失败会导致故障,这是我们的错,那么我们更有可能摆脱目前漏洞缠身,安全漏洞,脆弱的软件漏洞,并真正成为未来的专家。

翻译自: https://www.javacodegeeks.com/2018/05/bad-software-is-our-fault.html

不良信息拦截软件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值