阅读更多
在项目开发中,你会倾向于质量还是速度?当然,两者都很重要,理想的情况是,在规定的时间段内高质量的完成所有的东西。但是往往现实是比较残酷的,很少会给你这种机会,使得这两者不能兼得。

在快节奏的开发工作中,你必须争分夺秒,以在最后期限之前项目能够如期交付。但时间一紧,就容易忽视代码的质量和规范,或者不去写测试用例。反过来,如果太过追求项目的质量,则会拖延进度。

当客户需要你尽快交出成品的时候,要么使产品中的一部分整洁美观的,要么使产品是完整的,但有些部分不尽如人意。那么如何在这两者之间找到一个平衡点呢?来看开发者Matt Aebersold的建议。

项目开始时就注重代码质量会加快进度

好的代码是一种“艺术”,优雅、整洁、易于阅读、团队协作也比较容易。这是我们应该在每一天都要努力的方向。如果项目一开始就注重代码的质量,那么在项目中后期,事情将会变得简单。比如,创建一个JS文件来保存所有配置级别的变量,那么在后期需要调整一些类似于动画速度和延迟时间方面的东西时,就会变得易如反掌。

按计划完成,留出改进时间

在开发者关于这方面的探讨中,速度往往容易引发争论。我支持快速开发的原因有很多,其中最主要的是要按时或更早地将任务完成,然后留给改进工作更多的时间,这可以使得产品人员和客户都高兴。

有时简单是最合适的方式

毫无疑问,创建一个框架可以加快开发速度,但不是一切都适合使用框架。比如一个非常简单的需求,可能只需要一个简单的标签或这脚本就能够解决问题,而你非要去花费时间构建一个创新的方式或工作流程,这是毫无必要的。

开发项目中,从大的框架到小的脚本,都可以用在项目中,但是一个优秀的开发会去挑选什么才是最适合该项目的东西,而不是在所有情况下都使用最复杂的技术。

找出项目中什么才是最重要的

在项目开发过程中,你应该考虑大部分时间应该花在什么地方。例如,如果该网站不需要复杂的JavaScript,那么就不要添加一些JavaScript框架和模块,因为这需要时间和精力。相反,一个简单的脚本文件,甚至是一些内联JavaScript代码就会工作得很好。这样一来,你可以花更多的时间在网站上的其余部分。

如果项目是你个人的,那就花费所有时间确保把每一行代码都写好,将其优化到最简洁的形式。如果项目必须在某个时间内完成,那么就选择一条能到达终点的最短路径。我在过去5年内,95%的情况都是后者,我也在努力在最短的时间内完成高质量的工作。

英文原文:Should you code well or code fast?
1
8
评论 共 27 条 请登录后发表评论
7 楼 eisenwolf 2013-12-19 09:15
以最快的速度弄出一坨屎来,,,
6 楼 一个java程序员 2013-12-19 08:32
基本上都是速度。  先实现了功能。别的都扯淡。
5 楼 cosmo1987 2013-12-18 21:56
引用
按计划完成,留出改进时间

在开发者关于这方面的探讨中,速度往往容易引发争论。我支持快速开发的原因有很多,其中最主要的是要按时或更早地将任务完成,然后留给改进工作更多的时间,这可以使得产品人员和客户都高兴。

很多时候是需求未定且多变,而项目又不能延期。原本的计划就会因为需求方的要求而大改甚至原本的架构设计。虽然拥抱变化,但是变化不让开发提出delay的时间,变化只能靠赶工去实现了。而需求方的变化是随性的,反复的。
4 楼 minimu 2013-12-18 20:09
多数项目都是这么死掉的
虽然范围协商和优先级经常被提起,但是能结合实际情况真正用好的人不多。
3 楼 rwl6813021 2013-12-18 18:59
鱼和熊掌不可兼得也;有舍有得吧。
2 楼 white_crucifix 2013-12-18 13:29
最本质的是一个团队要有统一的价值观,geek有geek的价值观,屌丝有屌丝的价值观。理念一样了,无论是架构优化甚至是重构系统,都能以最快速度响应和实践,这样质量和速度就都上去了。最怕的就是注重质量的人被注重速度的人的乱糟糟的代码影响了速度,进而又影响了注重速度的人的进度。
1 楼 我不说话 2013-12-18 13:13
速度...

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 项目开发中,质量和速度哪个更重要?

    项目管理工作流 ...在项目开发中,你会倾向于质量还是速度?当然,两者都很重要,理想的情况是,在规定的时间段内高质量的完成所有的东西。但是往往现实是比较残酷的,很少会给你这种机会,使得这两者不能

  • 开发高质量的软件要付出什么样的代价?

    点击蓝色“程序猿DD”关注我回复“资源”获取独家整理的学习资料!本文转载自公众号:InfoQ作者丨Martin Fowler译者丨刘志勇在软件开发项目中,常见的争论之一是...

  • 项目开发中,质量和进度哪个更重要?

    在项目开发中,你会倾向于质量还是速度?当然,两者都很重要,理想的情况是,在规定的时间段内高质量的完成所有的东西。但是往往现实是比较残酷的,很少会给你这种机会,使得这两者不能兼得。在快节奏的开发工作中,...

  • 项目管理之敏捷开发之道

    在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于...

  • DevOps 和敏捷开发的区别是什么?

    聚焦源代码安全,网罗国内外最新资讯!编译:代码卫士DevOps 和敏捷是较为流行的软件开发方法论。第十四份敏捷年度报告指出, 95%和76%的受访人员分别表示其所在组织机构已采用敏捷开发...

  • 【阅读笔记】精益开发实践用看板管理大型项目

    精益开发实践用看板管理大型项目

  • 【DevCloud · 敏捷智库】暴走在发布前夜的开发,你怕不怕?

    在一次企业交流会上,一个公司的CEO提道,“我们公司做敏捷开发的转型有一段时间了,采用的是4周一迭代,相比之前的瀑布式开发,我们可以在每一个月就让客户看到我们的成果物,这确实为公司和客户搭建起了良好的沟通...

  • 【IoT】产品开发:产品开发战略指南:如何获得竞争优势?

    产品开发战略是指应用于产品开发过程的企业战略,产品的年度战略规划流程是公司整体战略规划的一个小方面,更大的战略计划提供了一个“北极星”来指导和部署公司内部的全部资本和资产。 产品开发战略以多种方式与...

  • Android开发项目计划书

    1 项目介绍.... 1 1.1 项目背景... 1 1.2 产品目的... 2 1.3 应用领域... 2 1.4 可行性分析... 3 1.4.1 技术可行性分析.... 3 1.4.2 经济可行性分析.... 3 1.4.3 操作可行性.... 3 2 产品服务.... 5 2.1...

  • Vue项目构建开发入门

    开篇:Vue CLI 3 项目构建基础 大家好,当你点进这个标题,开始阅读本章的时候,说明你对 Vue.js 是充满好奇心和求知欲的。我之前写过一篇文章,这样评价 Vue.js,称它是“简单却不失优雅,小巧而不乏大匠”的作品,...

  • 技术文档(3)前端开发—vue项目—规范文档

    前端开发—vue项目—规范文档

  • 求建议:二本计算机专业,考研还是就业做开发?

    会考虑这个,单纯是因为从现状出发:我是计算机加日语专业的学生,然而可笑的是,学校的计算机课程无论从学时上还是教学质量上来看都不如日语。往届毕业生中,也有很多人选择赴日,多半是先留学后工作。学校的老师...

  • 如何提高软件开发团队的协作效率

    软件开发是一项团队活动,必然需要团队成员间的交流与协作。由此,如何提高团队协作的效率便成为大家共同关注的话题。我们请到三位嘉宾将结合自己的实践经验与大家一起探讨。 金仕达卫宁软件科技有限公司首席架构师...

  • 敏捷开发和devops介绍,看了包会!

    1. 瀑布流开发模式介绍 一种曾经广泛流行的软件开发模式。 一种重视文档,强调顺序的...瀑布模型适用于需求确定后变动小的项目 2. 敏捷开发模式介绍 当今广泛流行的软件开发模式。 强调快速迭代,尽早交付的开发流程。

  • PMP 项目管理 考前专题(02)敏捷开发专题总结

    PMP 项目管理 考前专题(02)敏捷开发专题总结 PMP 项目管理 考前专题(03)考前 关键知识点 查缺补漏 PMP 项目管理 考前专题(04)考试 答题原则与套路总结 本模块分享的内容:PMP 项目管理 考前专题(02)...

  • 都在谈中台,究竟什么是中台?

    作者丨何少甫编辑丨张晓楠市面上有关中台的“应景儿”文章越来越多,但是讲概念的多、有干货的少,毕竟中台虽然热,但是还缺少真刀真枪的实践。而恰恰本文作者,就是一位中台的实践者...

  • 大数据相关开源项目汇总

    **在2007年facebook提交Apache基金会将Thrift作为一个开源项目,对于当时的facebook来说创造thrift是为了解决facebook系统中各系统间大数据量的传输通信以及系统之间语言环境不同需要跨平台的特性。 ** Chukwa ...

  • 信息系统开发与管理简答题、应用题和名词解释题汇总

    主要包括操作系统、数据库管理系统、应用开发工具和各种服务器软件等 以规模和操作系统为分类标准,企业级信息化建设中有哪些常见的服务器? 服务器有多种分类标准: (1)按规模划分。分为超级计算机、大型机、小型...

  • 读《借助开源项目,学习软件开发》总结

    读《借助开源项目,学习软件开发》总结 GitBook文章源地址:文章源地址 一.前言 准备条件:(1)一台能上网的电脑(2)首选系统Ubuntu,其次Windows 二.开始 (1)软件开发能力体系: 低 基础知识:计算机、...

  • 有哪些好用的低代码开发平台(2)

    码开发平台公司,以帮助更多组织,更快速度、更易迭代、更低成 本建设关键业务系统为使命,专注于领域模型驱动开发,帮助中大 型企业快速搭建核心业务系统,同时赋能生态伙伴快速实现定制化 垂直行业解决方案,助力...

Global site tag (gtag.js) - Google Analytics