项目管理的一个月

项目管理的一个月
      新年回来的时候,我接手了公司开发组的管理工作,其实从去年开始,我就已经开始接手主管的一部分工作,虽然工资也是普通程序员水平,不过当时因为一些问题所以留在这个公司
     直到今年主管离职后,我也开始正式接手管理,虽然工资只有一点点的提升。。。
      我在之前的文章里面那也提到过我们软件的几个问题,http://www.cnblogs.com/linyilong3/p/3475204.html,似乎之前的主管并无意去改变这些现状,所以我也是得过且过,软件能出来就可以了,加上开发组内水平参次不齐,所以即使有一些想法,也无法付诸实现,这个也是我一直吐槽的事情
     首先要解决的自然是版本管理混乱的问题,之前的版本管理一直都是人工合并的,也就是两个相同软件的不同版本,最后都是通过人工去比对,因为前主管说SVN的版本合并问题并不是很好,结果今年年初,有一个分支版本需要用到最新的主干版本,这个版本已经一年半没有进行合并了,最后的悲剧可想而知,最后我也只是让开发人员在主干版本上再开发一个版本,因为这个分支版本已经很多功能需要重做了,所幸推倒重来
    
这个月主要是在解决我前面文章所想要解决的问题,初步来看,成效起码不错的,对于后期另外一些事情我也开始有信心了
 1.版本管理的问题
     之前的分支管理都是采用人工合并或者直接把原本应该放在分支的代码放在主干里面,导致主干太过膨胀,现在我开始花时间整理之前的代码,把能移出主干的代码移动出来,并且创建了分支,定期进行分支的合并
     
2.开始进行构建插件系统的接口
     去年开始我就一直在研究软件插件的开发,参考了WOW的插件系统,为了解决软件扩展性的问题,现在对于一些软件定制的要求,我将不会允许开发人员在主干上进行开发,而是创建分支,由主模块进行开放接口,然后分支在这些接口上进行开发,当然现在还是以lib库的文件形式把代码直接嵌入主程序,从后面开始,我将会把这些lib都统一改成DLL的方式,后期将会把界面从DLL移除出来,改成类似于WOW的方式,界面将由一个XML描述文件负责,然后DLL则负责逻辑以及事件的处理

3.界面和逻辑处理的分离,梳理文件管理的
     这个还是没办法对老的代码进行检查,毕竟老的代码已经开始稳定了,而且老的开发人员已经离职,就算新的开发人员进来如果对于业务不了解代码也不见得写得比原来的好,现在只能在新的代码上加强,做好代码审查,不过貌似整个组就我能做代码检查

4.代码大量重复
在上一个项目开发的过程中,我要求当时的组员统一从一个地方拷贝共用代码,不能重写,这样也基本解决了代码重复的问题,但是这样又出现了两个问题:
     1.当A开发人员需要B开发人员一个接口的时候,B开发人员没空给A开发人员编写
     2.代码更新问题,去年我们是使用邮件来发送这些代码,想来这种方式非常可笑,今年我仔细研究了GIT,本来打算把SVN迁移到GIT 的,后来发现根本不用,SVN就有external属性可以使用公共库

5.引入新的开发库的问题
     不得吐槽下开发组的几个人的水平,限于他们的水平,我们一直只能使用原始的工具进行开发,一个网络库,用的是sourceForget上下载下来的代码,用了好几年,大量的内存泄露,自带的文件传输也经常发生传输文件部分缺失的情况,但是因为上级的开发人员用这个库用了好几年,加上能解决TCP粘包的问题,居然没换,后期打算把这个换掉,初步考察是ZERO MQ,最早是想使用RCF的,但是后来发现RCF这个库还是蛮复杂的,我研究了好几天
    四月份开始,将会逐渐开始引导开发组使用zero MQ和C++ 11,也会开始使用google  log,protbuf等库方便开发和调试

 
     




原文地址:https://www.cnblogs.com/linyilong3/p/3611757.html