在项目开发中,你会倾向于质量还是速度?当然,两者都很重要,理想的情况是,在规定的时间段内高质量的完成所有的东西。但是往往现实是比较残酷的,很少会给你这种机会,使得这两者不能兼得。
在快节奏的开发工作中,你必须争分夺秒,以在最后期限之前项目能够如期交付。但时间一紧,就容易忽视代码的质量和规范,或者不去写测试用例。反过来,如果太过追求项目的质量,则会拖延进度。
当客户需要你尽快交出成品的时候,要么使产品中的一部分整洁美观的,要么使产品是完整的,但有些部分不尽如人意。那么如何在这两者之间找到一个平衡点呢?来看开发者Matt Aebersold的建议。
项目开始时就注重代码质量会加快进度
好的代码是一种“艺术”,优雅、整洁、易于阅读、团队协作也比较容易。这是我们应该在每一天都要努力的方向。如果项目一开始就注重代码的质量,那么在项目中后期,事情将会变得简单。比如,创建一个JS文件来保存所有配置级别的变量,那么在后期需要调整一些类似于动画速度和延迟时间方面的东西时,就会变得易如反掌。
按计划完成,留出改进时间
在开发者关于这方面的探讨中,速度往往容易引发争论。我支持快速开发的原因有很多,其中最主要的是要按时或更早地将任务完成,然后留给改进工作更多的时间,这可以使得产品人员和客户都高兴。
有时简单是最合适的方式
毫无疑问,创建一个框架可以加快开发速度,但不是一切都适合使用框架。比如一个非常简单的需求,可能只需要一个简单的标签或这脚本就能够解决问题,而你非要去花费时间构建一个创新的方式或工作流程,这是毫无必要的。
开发项目中,从大的框架到小的脚本,都可以用在项目中,但是一个优秀的开发会去挑选什么才是最适合该项目的东西,而不是在所有情况下都使用最复杂的技术。
找出项目中什么才是最重要的
在项目开发过程中,你应该考虑大部分时间应该花在什么地方。例如,如果该网站不需要复杂的JavaScript,那么就不要添加一些JavaScript框架和模块,因为这需要时间和精力。相反,一个简单的脚本文件,甚至是一些内联JavaScript代码就会工作得很好。这样一来,你可以花更多的时间在网站上的其余部分。
如果项目是你个人的,那就花费所有时间确保把每一行代码都写好,将其优化到最简洁的形式。如果项目必须在某个时间内完成,那么就选择一条能到达终点的最短路径。我在过去5年内,95%的情况都是后者,我也在努力在最短的时间内完成高质量的工作。
- 浏览: 157718 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (210)
- java (44)
- javascript (5)
- 网摘 (21)
- 程序人生 (19)
- hibernate (21)
- spring (7)
- struts (1)
- jquery (2)
- mssql (3)
- mysql (3)
- oracle (7)
- 学习日记 (10)
- PowerDesigner (1)
- android (4)
- 调试 (1)
- tomcat (3)
- webapp (1)
- context (2)
- jsp (2)
- 学习 (18)
- 态度 (4)
- 坚持 (4)
- jsf (1)
- ui (1)
- css (1)
- seam (0)
- 转载 (5)
- JNDI (1)
- 创业 (1)
- 公司 (1)
- 方向 (1)
- ETL (1)
- Datastage (1)
- 数据整合 (1)
- 心情,感触 (1)
- 开发 (2)
- 测试 (1)
- 需求 (1)
- 湿身 (1)
- 网购,分类 (1)
- 驾校,转载 (1)
- 中秋,露营 (1)
- 域名 (1)
- 空间 (1)
- 网站程序 (1)
- SolrCloud (1)
- Solr (6)
- 全文库 (1)
- HBase (1)
- Hadoop (1)
- 网络应用 (1)
- 数据结构 (1)
- NoSQL (1)
- jQueryEasyUI (1)
- 面试 (1)
- 三十六计 (1)
- S2S3H4 (1)
- jar (1)
- war (1)
- web 项目 (1)
- Subversion (1)
- TortoiseSVN (1)
- MyEclipse (1)
- eclipse svn插件 (1)
- SQL2005 (1)
- ASP (1)
- 笔记 (2)
- 虚拟器、centOS、jdk、tomcat、nginx (1)
- memcached (1)
- nginx (1)
- telnet (1)
- nfs (1)
- zookeeper (2)
- window (1)
- linux (3)
- cronolog (1)
- web (1)
- mybatis (3)
- 设计模式 (1)
- 测试覆盖率 (1)
- EclEmma (1)
- tomcat7 (1)
- sore (1)
- 时间 (1)
- fackbook (0)
- facebook (1)
- IK (2)
- PKUSUMSU (1)
- openoffice (1)
- pdf (1)
- memcache (1)
- 动态词库 (1)
- 动态同义词 (1)
- centos7.3 (2)
- maven (4)
- 111 (0)
- nexus (2)
- 23种设计模式 (1)
- springboot (1)
- shiro (1)
- redis (1)
- rabbitMQ (1)
- native (1)
- dll (1)
- jasperReports (1)
- ireport (1)
最新评论
-
zhongfenglin:
学车的经历 -
Tiny_小小:
...
网购的选择 -
jrjr200411:
楼主写的好!
面对大公司和小公司的选择 -
feelboy:
说的很好。
每周四十小时,你有多少是在为自己干活?
发表评论
-
网摘-2019-01-31
2019-01-31 13:41 412推荐:2019年十佳DevOps工具 网摘:http:/ ... -
IT行业技术人员的核心竞争力
2018-03-25 20:54 404IT行业技术人员的核心竞争力呢?窃以为包括如下四点: ... -
你的核心竞争力真的是技术么?
2018-03-25 20:48 332我们常常需要问自己, ... -
2017-8-1笔记
2017-08-01 23:30 285web前端到底怎么学?干货资料 https://my.o ... -
听说这是互联网时代100本必读书单,你看过几本?
2016-03-15 16:43 444参考网址:http://blog.csdn.net/sun5 ... -
月薪2千 理财帝把钱分成五份活的得有滋味
2012-10-07 21:41 498月薪2000元活得有滋味 ... -
80后夫妻月入9千年存9万 存钱大法引膜拜
2012-10-07 21:36 599“我们夫妻月收入9千,每月消费1千,存8千,年底完全可以绰 ... -
作为软件工程师,你必须知道的20个常识
2012-07-02 22:03 529作为一名优秀是软件开 ... -
20个不错的CSS页面布局相关资源推荐
2012-01-07 19:05 761本篇文章搜集整理的是CSS页面布局的一个很长的列表。如果你 ... -
Hibernate Annotation笔记
2011-11-23 23:58 646(1)简介:在过去几年里,Hibernate不断发展,几乎 ... -
多些时间能少写些代码
2011-10-30 19:55 549导读:作者陈皓在微博上说过这样一段话:“聪明的程序员使用50% ... -
最容易引起别人反感的IT员工
2011-03-15 23:06 564从我个人多年的经历中 ... -
一些人生定律
2011-02-13 23:03 5861、蓝斯登原则:在你往 ... -
使用Google的技巧
2010-12-09 14:26 838看了才感叹原来 ... -
2011年十大战略性技术
2010-10-21 21:06 7982011年十大战略技术如下 ... -
认人,认事
2010-10-21 21:02 6021. 看一个男人的品位, ... -
优化MyEclipse
2010-10-19 22:19 759“工欲善其事必先利其 ... -
开始编程生涯的5个建议
2010-10-18 21:42 633如果想成为一名程序 ... -
开发人员一定要加入收藏夹的网站收藏
2009-06-14 21:19 877开发人员一定要加入收藏夹的网站收藏http://www.go ... -
几个免费下载原版图书的网站
2009-06-14 20:42 958http://www.ebooksbay.org/ http ...
相关推荐
### 嵌入式项目开发过程详解 #### 一、嵌入式项目设计生命周期 **1.1 产品定义** 产品定义是整个嵌入式项目开发的起点,它包括了市场调研、客户需求分析以及功能需求定义等多个方面。在这个阶段,需要进行深入的...
这种理念与传统的瀑布模型形成对比,后者倾向于线性的开发流程和固定的计划。 敏捷开发的优势在于:提高软件质量,使项目在过程中能及时调整,从而提高客户和业务的满意度;使商业需求与IT实施更加匹配,加快产品...
- 对于**甲方驱动**的项目,则更倾向于采用规范方法来满足高质量要求和流程标准化的需求。 #### 八、总结 敏捷方法的核心在于快速响应变化,强调团队合作和个人主动性。通过灵活的迭代开发、持续的反馈循环以及...
AM注重在敏捷环境中以更灵活的方式进行软件建模,目的是在保证质量的同时,加快开发速度,防止过度简化和设立不切实际的预期。敏捷建模者遵循一系列价值观、原则和实践,以适应快速变化的项目需求。 【极限编程...
JavaScript开发工具是Web前端开发的重要组成部分,对于提升开发效率、代码质量和维护性有着显著的作用。...无论你是初学者还是资深开发者,都应该不断探索和学习新的工具和技术,以适应快速发展的Web开发领域。
传统工程方法倾向于制定详尽的计划,追求项目控制,但这种过度规划往往导致开发周期延长,难以应对需求变更。相比之下,敏捷方法主张轻装上阵,强调快速迭代、持续交付和团队协作,旨在提高软件开发效率和质量。 ##...
增加人员或快速添加功能而不注重结构和沟通,可能会导致项目速度减缓,质量下降。 7. 在时间和空间上,因果并不密切相关:效果和原因在时间上可能有延迟,在空间上可能在不同层面显现。这要求我们深入理解系统动态...
【软件项目开发可行性分析报告】 本报告旨在对银行储蓄系统开发与设计的可行性进行全面分析,以确定项目的实施可能性、预期收益及其潜在问题。银行储蓄系统是金融行业中至关重要的组成部分,随着社会对便捷金融服务...
追求速度往往会牺牲质量,最终导致事倍功半的结果。例如,当一个项目接近尾声时,为了确保按时交付,管理层可能会不断增加人力资源。虽然短期内项目进度可能会有所提升,但由于新加入的成员需要时间熟悉项目背景和...
总结而言,"移动开发常用图库"是开发人员宝贵的资源,它包含了多平台兼容的图标,简化了开发过程,同时也提供了高质量的视觉元素,有助于提升应用的用户体验。无论你是新手还是经验丰富的开发者,这个图库都将是你...
QA(Quality Assurance)代表质量保证,这个角色更倾向于全面的质量管理,包括过程改进、质量标准设定和质量审计。 文件检索系统是IT领域中的一个重要组件,它涉及到信息管理和数据检索技术。开发这样一个系统需要...
4. **软件开发模式不合适**:传统的大规模软件项目倾向于在早期阶段全面分析需求,但手机应用开发的快速节奏使得这种方式不再适用。开发团队需要采用更加灵活的方法,如敏捷开发,来适应不断变化的需求。 5. **...
随着移动互联网的普及和浏览器功能的日益完善,越来越多的项目倾向于采用BS架构,以提高开发效率和代码复用率。在这样的背景下,前端开发框架如Vue、React和Angular等逐渐成为主流。本文以兴业银行与中石化联合推出...
嵌入式系统,作为现代科技中不可或缺的一部分,广泛应用于汽车、家电、医疗设备、移动设备等多个领域,其核心在于微处理器的选择与开发。ARM架构,以其低功耗、高性能的特点,在嵌入式系统开发中占据着举足轻重的...
与传统的瀑布模型不同,敏捷方法更倾向于采用迭代和增量的方式推进项目。这意味着每个阶段都可以在短时间内完成一个小周期的工作,并且在整个项目过程中重复这些步骤。这种方式有助于团队及时获取反馈,从而更快地...
4. **每日合作**:业务人员和开发人员必须相互合作,项目中的每一天都不例外。 - 加强团队内部及与客户的沟通。 5. **围绕动机的个人构建项目**:激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,...
Java是一种广泛应用于软件开发的编程语言,以其跨平台性、稳定性以及丰富的库支持而闻名。...总的来说,理解和避免这些误区,将有助于Java开发者提高开发效率,写出更高质量的代码,从而在软件开发中取得更好的成果。
这个职业生涯初期可能会带给你丰厚的薪水和不断学习新知识的机会,使你感到生活充实且满足于内心的虚荣心。然而,随着时间的推移,你可能会面临一些无法忽视的问题。 首先,开发工程师的工作特性决定了它的高强度和...
4. 开放化:软件开发将倾向于开放源代码和共享技术,促进开发者之间的合作,提升软件的整体质量和用户体验。 总的来说,计算机软件开发技术将继续进化,以满足日益增长的用户需求和信息技术变革。开发者需要紧跟...