当前位置:首页 > 科技  > 软件

软件开发“自我毁灭”的七宗罪

来源: 责编: 时间:2023-10-18 09:18:59 470观看
导读作者丨Peter Wayner译者 | 晶颜审校 | 重楼软件开发是一门具有挑战性的学科,它建立在数以百万计的参数、变量、库以及更多必须绝对正确的因素之上。即便是一个字符不合适,整个堆栈也会随之瓦解。多年来,软件开发团队已经

作者丨Peter WaynerIJE28资讯网——每日最新资讯28at.com

译者 | 晶颜IJE28资讯网——每日最新资讯28at.com

审校 | 重楼IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

软件开发是一门具有挑战性的学科,它建立在数以百万计的参数、变量、库以及更多必须绝对正确的因素之上。即便是一个字符不合适,整个堆栈也会随之瓦解。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

多年来,软件开发团队已经想出了一些完成工作的规则。从复杂的方法论到新兴的学科和哲学,软件开发的规则手册使每个人都能够协作,并以有效的方式到达终点。然而,即便如此,仍然存在失败模式:有时是这些方法被误用了,或是好的想法过于偏向理论化;有时开发者只是忘记了他们应该做什么,或是故意为之。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

软件开发中的这些错误几乎可以破坏任何项目。因此,如果想要确保您的团队能够构建伟大的项目,那么是时候停下来考虑一下以下错误行为了。IJE28资讯网——每日最新资讯28at.com

1、选择错误的方法   

IJE28资讯网——每日最新资讯28at.com

所有的软件开发方法都有狂热的拥趸,他们热衷于那些定义自己最喜欢的团队组织方式的规则。但问题往往是如何为您的团队选择合适的工具。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

一个很大的错误是从高层强加这些规则。如果程序员是另一种方法的忠实信徒,那么当他们被迫使用另一种方法时,他们通常会抱怨和发牢骚。另一个错误是让程序员自由地选择他们最喜欢的方法,然而这可能并不是对整个团队最好的方法。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

选择正确的方法并不能解决所有的问题,但是它可以减少组织工作流程时产生的摩擦。团队将了解他们的角色,以及他们将如何在其中编写代码。IJE28资讯网——每日最新资讯28at.com

2、忽略可扩展性   

IJE28资讯网——每日最新资讯28at.com

一些软件开发问题可以稍后修复,但这绝不包括构建一个能够有效扩展以处理数百万或数十亿个事件的应用程序。当应用程序最终全面运行时,创建没有瓶颈的有效代码需要足够的深谋远虑和高层领导的支持。这不是以后用一些有针对性的编码和虚拟管道就能解决的问题。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

算法和数据结构需要从一开始就进行规划。这意味着架构师和管理层需要仔细考虑将为每个用户存储和处理的数据。当100万或10亿用户出现时,信息洪流会淹没哪一层?我们该如何提前为这些时刻做好计划呢?IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

有时候,这种架构上的深谋远虑意味着扼杀一些伟大的想法。有时,管理层需要权衡大规模交付功能的收益和成本。有些数据分析在大范围内并不适用。一些公式随着用户的增加呈指数级增长。计算使硬件不堪重负,并阻塞了通信。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

开发者并不总是想要考虑大局。他们很容易就会一头扎进去开始创作。但是聪明的开发团队和管理者会花时间预测这些问题,因为如果他们不这样做,就会面临失败的结局。IJE28资讯网——每日最新资讯28at.com

3、沉迷最新趋势   

IJE28资讯网——每日最新资讯28at.com

众所周知,软件开发人员很容易被新奇的想法所吸引。也许它是一种提供更复杂查询的新型数据库;也许它是一种新的编程语言,可以修复旧语言造成的所有错误。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

有时候这些想法是有价值的。然而,很多时候,由于每个人都试图学习新技术,最终会减慢开发速度。有时候,新想法中会存在隐藏的缺陷,只有在项目必须交付之前,每个人都投入到工作中之后,这些缺陷才会显现出来。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

谨慎往往是采用新技术的最佳准则。这也是一些规模最大、历史最悠久的公司仍在继续运行由COBOL编写的软件的原因所在。趋势变化无常,但运行代码中的工作逻辑不会过时。IJE28资讯网——每日最新资讯28at.com

4、保留过多的数据   

IJE28资讯网——每日最新资讯28at.com

程序员是天生的囤积狂,他们喜欢储存信息以备不时之需,而此举可能会导致安全漏洞或侵犯用户隐私。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

对于出生日期或其他详细个人信息,问题可能更大。一些领域(如财务记录或健康记录)受到严格监管,更容易违反规定。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

好的软件架构需要提前计划,以尽量减少存储的数据量。它可以保护每个人,并节省存储费用,甚至可以通过减少移动数据量来加快系统速度。IJE28资讯网——每日最新资讯28at.com

5、外包错误的工作   

IJE28资讯网——每日最新资讯28at.com

关于究竟是自行构建还是购买软件的争论由来已久,目前尚无明确定论。然而,软件开发人员的选择往往很糟糕。也许有一个价格合理的完美解决方案,但他们却不舍得把自己的定制堆栈与内部团队闲置一边。相反的情况也会发生。一些管理者购买了外部供应商的产品线,结果却眼睁睁地看着供应商在锁定完成后大幅提高价格。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

不幸的是,对于软件开发团队及其管理者来说,决定使用哪种外部工具是一个持续的挑战。利用合适的外部资源是天才之举,但选择了错误的供应商则是通往高价监狱的门票。IJE28资讯网——每日最新资讯28at.com

6、忽略测试   

IJE28资讯网——每日最新资讯28at.com

高效的软件开发人员及其管理者都知道,测试是一个持续的挑战,就像编写递归代码或设计优雅的数据结构一样,是工作的一部分。测试过程应该从一开始就包含在内,因为单元测试和集成测试对于确保代码在整个开发过程中保持可行性至关重要。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

测试对于处理大规模负载也很重要。当我们是唯一的用户时,编写在桌面上运行顺畅的代码十分容易。如果应用程序拥有数百、数千甚至数十万用户,则需要确保代码是高效的,且部署能够处理大规模负载。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

许多团队会引入质量保证测试人员,以发现并纠正程序员所犯的错误。比如说,他们知道如何将一个参数设置为0,只是为了看看它是否会导致除0错误(divide-by-zero error)。当用例变得如此复杂,以至于任何一个人都很难想到所有的变化并编写干净的代码来预测它们时,这种对测试的持续关注是必不可少的。IJE28资讯网——每日最新资讯28at.com

7、低估了计划的力量   

IJE28资讯网——每日最新资讯28at.com

大多数代码在构建前期都需要进行一定的计划。但大多数程序员通常只是想直接进入并开始编写代码。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

资深程序员的经验告诉我们,最好的步骤是停下来,计划,测试计划,然后再完善计划。写计划可能看起来很乏味,但当你进行抽象思考时,尝试新想法的速度可能会快10倍。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

计划还意味着包括来自其他团队和涉众的输入。他们将是将来使用代码的人,因此花时间讨论项目并了解他们的需求,将在之后避免大量的挫折。这是避免上述列出的许多错误的最好方法。IJE28资讯网——每日最新资讯28at.com

IJE28资讯网——每日最新资讯28at.com

参考链接:https://www.cio.com/article/654284/7-sins-of-software-development.htmlIJE28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-13850-0.html软件开发“自我毁灭”的七宗罪

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 深入理解 ASP.NET Core 中间件技术

下一篇: 十个2023年最流行的数据科学开源工具

标签:
  • 热门焦点
  • Redmi Pad评测:红米充满野心的一次尝试

    从Note系列到K系列,从蓝牙耳机到笔记本电脑,红米不知不觉之间也已经形成了自己颇有竞争力的产品体系,在中端和次旗舰市场上甚至要比小米新机的表现来得更好,正所谓“大丈夫生居
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 量化指标是与非:挽救被量化指标扼杀的技术团队

    作者 | 刘新翠整理 | 徐杰承本文整理自快狗打车技术总监刘新翠在WOT2023大会上的主题分享,更多精彩内容及现场PPT,请关注51CTO技术栈公众号,发消息【WOT2023PPT】即可直接领取
  • 三分钟白话RocketMQ系列—— 如何发送消息

    我们知道RocketMQ主要分为消息 生产、存储(消息堆积)、消费 三大块领域。那接下来,我们白话一下,RocketMQ是如何发送消息的,揭秘消息生产全过程。注意,如果白话中不小心提到相关代
  • 微软邀请 Microsoft 365 商业用户,测试视频编辑器 Clipchamp

    8 月 1 日消息,微软近日宣布即将面向 Microsoft 365 商业用户,开放 Clipchamp 应用,邀请用户通过该应用来编辑视频。微软于 2021 年收购 Clipchamp,随后开始逐步整合到 Microsof
  • 电视息屏休眠仍有网络上传 爱奇艺被质疑“薅消费者羊毛”

    记者丨宁晓敏 见习生丨汗青出品丨鳌头财经(theSankei) 前不久,爱奇艺发布了一份亮眼的一季报,不仅营收和会员营收创造历史最佳表现,其运营利润也连续6个月实现增长。自去年年初
  • 花7万退货退款无门:谁在纵容淘宝珠宝商家造假?

    来源:极点商业作者:杨铭在淘宝购买珠宝玉石后,因为保证金不够赔付,店铺关闭,退货退款难、维权无门的比比皆是。“提供相关产品鉴定证书,支持全国复检,可以30天无理由退换货。&
  • 认真聊聊东方甄选:如何告别低垂的果实

    来源:山核桃作者:财经无忌爆火一年后,俞敏洪和他的东方甄选依旧是颇受外界关心的“网红”。7月5日至9日,为期5天的东方甄选“甘肃行”首次在自有App内直播,
  • 与兆芯合作 联想推出全新旗舰版笔记本电脑开天N7系列

    联想与兆芯合作推出全新联想旗舰版笔记本电脑开天 N7系列。这个系列采用兆芯KX-6640MA处理器平台,KX-6640MA 处理器是采用了陆家嘴架构,16nm 工艺,4 核 4 线
Top