垃圾代码是如何写出来的

自我参加工作已经有几年了,接手过的项目也不少,包括安卓端和web前端的,在做这些项目的过程中,相当一部分的项目到最后都出现了一个现象:代码越写越乱,维护性越来越差。究其原因,我认为有如下几点:

1.程序员自身能力

出现问题,首先得从自己身上找原因,这是我的第一想法。

我们知道,一个项目基本不可能是完全由一个人开发的,这其中就涉及到协作开发,而且IT行业的跳槽还是比较频繁的,这就导致了一个项目可能经手的人很多,然而不同程序员的个人水平参差不一,很容易就出现写的代码差异很大,特别是如果每个人都不按照某一个大概的规则来写代码,各做各的,闭门造车,甚至直接copy别人的代码,就会出现各种“垃圾”代码,长久以往,而又不去改变,就会导致项目维护性变差,最终甚至只能重构项目。

这是我认为最大的原因,解决这个问题除了程序员需要不断提升自身能力之外,拥有一个项目核心人物和一份完善的项目说明文档是很有必要的,核心人物必须对这项目充分了解,起到带头指导作用,一份完善的文档可以让开发者更加直观明了的熟悉项目。我在做一个项目一段时间后,都会为这个项目写上一份说明文档,描述项目的情况,项目的结构,以及标明做这个项目的一些注意事项,然后在以后的开发过程中不断完善这份文档,让参与这个项目的人能方便快捷地了解这个项目。

2.项目架构不合理

这里说的架构不仅仅是指某一端的架构,包括整个项目所涉及的后台,前端等,很多时候,项目的基础架构很大程度决定了项目以后代码的结构,如果项目在初期架构不合理,不够健壮,容错性差,本该后台解决的事却让前端来做,一个流程逻辑七绕八绕,这就会导致以后代码越写越乱,出现各种拆东墙补西墙、代码冗余问题。

这就涉及到在设计系统时必须统筹各方资源,合理规划项目内容。但有时候项目架构即使足够合理,也不一定能解决问题,这是我接下来说的第三点比较大的影响因素。

3.不断变更的需求

我们经常调侃产品经理和码农是天生的仇人,这其实也是有一部分原因的,产品经理的需求设计决定了码农应该怎么去写代码,如果一个项目的需求经常变更,产品经理没有很好地去控制,交给开发人员手上就很容易导致项目的代码越写越乱,特别是需求不合理的时候(特别是有些时候为了迎合客户而去做一些看上去跟之前设计完全相悖的需求),这就容易导致原有代码没办法重用,不得不又在原有基础上“添油加醋”,从而出现一大堆冗余垃圾代码。

这个有办法解决吗?在我遇到的情况来看,只能跟产品多沟通适当调整部分功能,但大部分情况都是因为时间问题没办法调整,然后就不得不在原有基础上“添油加醋”,不得不说这是一件很无奈的事,而且这种项目一般到一定时间段都很大可能要进行一次重构,欠下的技术债务,总是要偿还的,否则长此以往,只能是恶性循环直至搞垮这个项目。当然重构并不是坏事,只是为了改善现有代码结构,方便开发,但重构无疑会花费很多人力、时间,这需要在时间充裕的时候来进行。

猜你喜欢

转载自blog.csdn.net/gs12software/article/details/96426761