zoukankan      html  css  js  c++  java
  • 项目开发经验谈之:忆第一次设计Framework

    项目开发经验谈之:忆第一次设计Framework

      前言:在进入打算做开发的那一天,就一心梦想着有一天能够成为一个很牛的架构师(相信这也是很多技术开发人员的梦想)。为这个梦想不停得学习,实践。等到机会来临的那一天。

     

      记得,那时,公司来了一个新的项目,我没有担任这个项目的leader。一个很重要的原因就是:我太年轻了。当然,这也不能怪上面,因为公司有公司的考虑。     几乎所有的项目在时间上都是很紧的。我们这个项目也不例外,而且项目的业务比较的复杂。

      在项目的分析大会上,我大胆的提出了自己开发的一个Framework,建议他们采用这个开发。其实我并不是突然就随随便便的提出这个Framework的。  

      

      之所以有这个Framework的产生,其实是有原因的:在刚刚进入这个公司的时候,就被分到一个比较的大的项目组,当时项目的开发可以说是历尽挫折,但是最后的结果还是使得项目不了了之,变得谁都不想碰的烂摊子。业务需求没有搞清楚是一个原因,另外的一个原因就是技术方面:也是分层,分布式等等,本来是开发者掌控技术的,但是最后却被技术搞死了。

     

      之后,我就从那个项目组中出来了,开始做另外一个项目。我开始认识到一点:搞开发,不是做的项目越多就越牛。项目经验多少和牛不牛,没有什么正比性。可以类比我们当初高考时的那个”题海战术“--题目做的越多,考分就一定越高吗?要带思维和脑袋做事。

     

      那个项目失败之后,确实失败的很大的成分还是在技术上。可是,事后,谁都没有考虑如果改进,如果避免重复的情况。作为一个开发,甚至以后的架构师,我认为,最核心的能力就是:分析问题,解析问题的能力。这不是空话,需要自己去做,思考。思想的高度,决定你人生的高度。

      

      虽然自己当时已经到了另外一个项目组,我还是分析了之前项目失败的原因。万事开头难,其实当初也不知道怎么分析,于是就从DAL,BLL,Service,UI,一层层的进行了分析,认为这个地方有哪些问题,然后一条条的列了出来,并且一个个的给出相应的,确实可行的解决方案。

      于是在自己第二个项目中,就汲取了教训,避免了很多在第一个项目中出现的问题。很幸运,第二个项目圆满成功了。

     

      项目是结束了,自己开始发觉:很多的项目几乎都是重头搭建的,在每次项目大会上,都说要在项目中积累通用组件,通用模块,甚至是自己的Framework。但是,真正在做项目的时候,大家都只是想把功能做完,哪里还管什么通用组件,模块。

     

      如果总是这样做项目,人会累死的,而且越来越累(特别是年纪大点的,有了职业病的)。所以,自己就开始思考如果开发出一个通用的Framework,来减少大家的开发工作。带着这个思想,就开始行动。

      

      自己一边做项目,一边总结和记录项目中出现的问题,并记录自己的解决方案。同时,自己也开发Framework。慢慢的,Framework开发的有雏形了。并且认为可以用了,所以在项目大会上就提了出来。在会议中,我自己首先分析了之前项目中出现的问题,然后一个个讲述了解决的方案,并且得到了会议人员的认可。之后,我就推出了自己开发的Framework,并且和他们讨论了这套Framework是否适用这个项目。

     

      最终,项目的leader决定采用。当时的心情很复杂,兴奋,更多的是担心,忐忑不安。担心Framework是否经得起项目的考验,而且万一Framework出了问题,崩溃了,自己要立刻给出就解决的办法。但是不管怎么,自己迈出了第一步。机会是给有准备的人,但是有准备的人要更懂得争取机会。

      所以,年轻不是问题,经验可以积累,关键是:要有心。

     

      版权为小洋和博客园所有,欢迎转载,转载请标明出处给作者。

       http://www.cnblogs.com/yanyangtian

     

     

      

      

  • 相关阅读:
    2. Add Two Numbers
    1. Two Sum
    leetcode 213. 打家劫舍 II JAVA
    leetcode 48. 旋转图像 java
    leetcode 45. 跳跃游戏 II JAVA
    leetcode 42. 接雨水 JAVA
    40. 组合总和 II leetcode JAVA
    24. 两两交换链表中的节点 leetcode
    1002. 查找常用字符 leecode
    leetcode 23. 合并K个排序链表 JAVA
  • 原文地址:https://www.cnblogs.com/yanyangtian/p/1760979.html
Copyright © 2011-2022 走看看