项目开发初期是否要尽可能极致地优化项目

背景

正式开始开发射击项目已经有一个月了,期间遇到了很多的问题,也有很多的感悟。感悟挺多的,但限于开发时间比较紧凑,就挑一下其中最近一个比较深的感悟简单来聊一聊(等项目开发结束后,再进行一次全面的复盘和总结)。项目开发初期是否要尽可能极致地优化项目?

极致追求

对于我个人来说,在编写代码方面,对自己比较严苛,有一种追求完美的心态,想要让写出的代码变得优雅。在IDEA上专门安装了阿里巴巴代码规范插件,专门选用了白色的主题,就是为了在写代码的时候,可以及时发现不规范的地方,拒绝在代码中出现黄色警告和灰色下划线。

对于代码追求极致是一方面,对于这次项目来说,是迄今为止接到的最大的一个项目,功能非常完备,所以开发团队在开始时,就会难免有一种追求极致的心态,就是我要用目前我能想到的最好的方案去实现项目中的业务,可解决出现的问题。

我觉得严格要求自己、追求极致的心态和做法本身是没有问题,这本身就符合我们从事IT行业的极客精神,但是有时候结合实际场景就会引发一些别的方面的问题。

开发初期尽可能极致优化项目出现的问题

在这次项目当中出现比较频繁的问题就是在开发时很多的需求不明确和存在需求变动。在出现这个问题的前提下去开发,能够出现的问题显而易见,但却在当前的场景下无法避免,也是正常的情况。之前也就“项目频繁出现需求变更”这一问题与有经验的前辈聊过,在之后的文章当中再具体去阐述。

需求变更牵涉到可能存在数据库修改,已经开发的代码的需要修改,大概率出现牵一发而动全身的结果。在这个前提下,在实现复杂的业务,前期开发阶段无需做过多的优化,先使用传统的方案去实现,比如可以直接使用mysql实现业务,而非使用到redis。如果在前期开发的使用,做过多的项目优化,会在无形当中是业务实现变得复杂,如果有需求频繁变更,那么会越改越乱,而且使开发难度加大。

什么时候进行项目优化

项目优化还是非常必要,既然在项目开发的初期不进行项目优化,那么什么时候去优化项目才比较合适。这个考虑的点会比较多,可以等到项目上线前的测试阶段进行压力测试,有针对性地对项目某些点进行优化。这样的考虑是,在项目初期做的优化可能并不是我们当前项目的瓶颈,根本就不需要优化。另一层考虑就是等项目需求明确下来,进入稳定化阶段在开始着手优化,在这里还是考虑优化那些非常明显可能会是项目瓶颈的地方。这一层考虑是,项目进入稳定阶段,不会出现频繁需求变更时优化,否则需求变更时修改代码会很复杂。而且在项目还不稳定的情况下优化,很容易出现的点就是,优化的地方可能根本就不是我们项目的瓶颈,反而因为优化影响了项目开发。

简而言之,在全新项目的开发初期,还是以实现业务需求、完成工期为主,后期到项目测试阶段进行压力测试有针对性行地进行优化。但是最求极致代码质量、代码规范性地问题,却是要贯穿到整个项目当中的。

后记

这篇文章的看法只是个人观点,因为受限于眼界和当下所处的开发场景,所以可能并不适用所有情况和项目。
这篇文章之后在开发中的有感而发,后续项目完结会对这个方面在进行更加详细的复盘和总结,到时可能会有全新的理解。

你可能感兴趣的:(项目开发初期是否要尽可能极致地优化项目)