项目的发展会遇到的问题

来源:cx 发布时间:2013-07-19 16:29:23 点击数:
  IT界的技术发展可谓是一日千里,在你架构的时候一些编程概念还没出来,比如OOP概念(面向对象编程)、AJAX概念在以前都是没有的,所以在一开始的时候会用一些老旧的技术。这个时候原来的架构已不能满足软件的发展,这个时候就需要重构了。
  随着项目的发展,功能会不断增加,慢慢的我们会发现,软件会变得越来越臃肿,最初的架构已经不能满足现在的需求。
  一开始的规划的时候不可能可以想到所有事情,而是在用户使用软件的过程中,不断从用户那获取新的需求,然后让软件功能慢慢完善起来。还有一种原因是公司的发展,在企业发展的初期,一些公司往往是能实现功能就可以,怎么快怎么来,一个新的企业往往会想着怎么生存下去,因为只有活着才能生活。一开始就想着完成所有功能时不现实的,罗马不是一天建成的。我们也经常看到某些软件更新(像腾讯QQ、360等),他们会隔一段时间推出一项新功能,慢慢的发展到如今的规模。
  许多公司在最初的时候没有统一的规划,找的人基本上是一些实习生(便宜嘛),造成一个项目什么语言都有,完全没有OOP的概念,有些甚至会把js代码完全写在HTML页面里,一行代码看不到头,连文档都没有。很多大公司的项目也是如此,IT项目不规范。
  当一个项目总是修修补补的时候,都会觉得烦,一些编程新手可能习惯Ctrl+C和Ctrl+V,这会造成代码冗余,影响项目的运行效率。个人习惯,只要有两个地方或者可能会在两个地方出现的代码,我就会提炼出来。当项目的代码为一团乱麻时,或者使用的编程技术相当落后的时候,我们就需要重构。重构就需要钱,而我们需要说服决策者提供资金,很多决策者都是不懂技术的,你突然说要大笔的投入,而决策者最关心的是投入的回报,很多技术负责人会被卡在这里,或者采用折中的方法。如果你能告诉决策者这个项目投入多少能回报多少,那么他会考虑这事。但技术负责人一般不擅长谈判。