【百度实习日记】Day 19: 一个项目的生命周期

Show respect  for everyone who devote himself into software development,PLEASE 

今天依旧是写代码,做CR,改代码。但是今天傍晚的时候茜茜大力推行的新人小课堂正式开课了。第一课,茜茜主讲,一个项目的生命周期。虽说是贴吧自己内部的开发流程,但是我仔细想想这个流程是通用的,任何大大小小的团队都可以用这一套流程去做项目的开发和迭代。我简单总结如下,希望在未来的某天能够用得着。另注:本文中所有图片都是我自己依靠今天下午的新人课堂总结所画的,将就着看就好。

1、需求 需求阶段主要是和PM沟通,确定要做什么,为什么做,做了有什么意义,不做有什么损失。这一个步骤挺关键的,如果不知道自己要做什么就贸然上手,很可能就是做出的东西得不到PM的认可,你的开发都是白费力气的。还有就是这个阶段一定要有开发人员和PM共同参加,说清楚该说的,最终达到一个双方都能认可的状态:PM认为开发人员能够完成自己的需求,开发人员认为自己能够开发出来PM想要的东西。如图:

2、接口 这个接口的意义其实蛮多的,在这里我想表达的接口的意义是在RD拿到需求以后到正式开始写代码之前,所有要做的准备工作。包括:明确自己的位置,做好与上下游RD的沟通,怎么与上下游RD进行数据交换,面对需要改进的老功能现在要考虑怎么改,面对需要重新开发的新功能应该要做什么准备,这一切的准备工作都是以后开发顺利进行的保证,所以也很重要。很多情况下就是因为接口没定好,准备工作不充分,导致各个方面的RD不能很好的合作,进而影响到整个开发的进度。这个需要很注意。如图:

3、开发与自测 当然就是写代码了啊。代码要保证能够逻辑清楚,实现功能,便于阅读。在团队开发当中,免不了要读别人写的代码,所以阅读代码也是一种需要锻炼的技能。我们在写代码的时候需要懂得代码是给人看的,不要用那些容易引起争议的语法或者处理方式,不要强迫自己写复杂的逻辑,不要给后来者挖下坑。写代码是有德行的。还有就是有的公司会制定各种各样的代码规范,你作为公司的一员,有义务也有必要按照公司的代码规范来写代码,于人于己,都是一见好事儿。当然你写的代码必须要能有功能实现啊,哟啊不写了有什么用。如图:

4、CodeReview CR怎么说呢,非常有必要! 代码评审在相当多的大公司都是作为一件重要的事情在做的,百度现在也开始大力推行CR,我个人认为是有很大的意义的。首先你知道你的代码会被其他人看到,你就会写的更加严谨,而不是像自己开发的时候随便想怎么写就怎么写;其次,在被人提出评审意见时,你能够看到其他人是怎么看待这段代码的,他们有什么样的解决方式或者改进方式,他们面对你的代码会有什么想法;第三,经过CR,你的代码会更加有力度更加有分量,这是一个逐渐将代码变优秀的过程。有时候我们说优秀的代码优雅的代码并不是说永远不会出错的代码,但是能肯定的是,在绝大多数情况下,这段代码都能够正常运行,已经规避了很大的出错风险。这样的代码对整个公司都是有价值的。一本万利的事情。如图:

5、测试 QA是必不可少的。但是可能很多人都对QA有误解。并不仅仅是测试,软件的质量保证是很重要的,优秀的QA能够发现RD不能发现的问题,将代码的错误扼杀在上线之前。QA会有很多很多的工具来辅助测试,自动化测试也是大势所趋。软件质量的保证,QA义不容辞。(图略了)

6、部署 部署和接下来的上线是不一样的。我理解的部署是将写好的测试通过的代码真正部署在机器上面,这些机器是现在正在线上跑的机器。部署代码的原则就是不要影响已经上线的代码。部署代码,要考虑各种各样的配置,各种各样的环境,自动化部署也是一个软件行业的重要课题。部署好以后还要做自动化运维监控,时时刻刻观察代码的情况。(图略了,不知道画什么……)

7、上线 终于到上线啦!!!将部署好的代码真正跑起来,为广大用户提供服务,面向真正的用户,让自己的代码实现价值,想起来就好激动!

8、验收 PM是项目的起点,PM也是项目的终点。你做的项目必须要得到PM的认可,要不,一切都是白费。当然,小组内部也要做好总结,对于整个项目开发过程中的各个阶段遇到的问题,有什么收获,还要怎么改进等,都要做好总结,为以后的项目开发留下宝贵的经验。

这样,一个项目就从无到有了。我们的价值也得到了体现。 请尊重每一个互联网软件行业的从业者,谢谢!

刘凯宁 20150623

附录:Vi快速入门:

非常感谢  欧二强@百度 的 《vi快速入门》

ZZ-35165346-230615-1238-453

Share