zz 软件开发流程工具一览
2011-05-08 23:21
295 查看
http://groups.google.com/group/pongba/browse_thread/thread/b768b96721e5ac0c# 软件开发工具一览
选项
选项
共 14 个帖子 - 全部隐藏 - 举报此讨论为垃圾内容 |
我不是很懂CMM之类的东西,只能按我平常开发的流程跑个烂砖头,希望勾出大家有意思的东西来。这个帖子,也是我入伙的时候就很想写的了。我们可以先high-level的讨论一下有那些类,哪些工具。然后以后具体化的开thread一个一个工具讨论过去。 我做的比较土,本来还有点核心的,现在越做越应用了。做核心的时候很是天马行空,不过test啥的还是都有,只是很多时候犯懒,总是依赖我们QA帮我些。现在做应用了,这些东西一个都不能少,要不出了问题客户直接就追到头上了,没有人帮我擦屁屁。慢慢养成了习惯,觉得还是蛮有用的。 首先是test!test已经成我的代码核心了,现在test : src -> 2 : 1了。而且feature deliver之后,因为QA的bug,test会越写越多,绝对是重中之重。这个是影响开发进度的,所以现在基本上老板已经不push我的delivering了,因为我经常delay的。(感谢国家,感谢党,感谢老板,感谢team) test包括unit test / regression test (smoke test)等等,我不是QA,也没法全懂。自己的code,unit test是肯定免不了的。100% coverage总是求之不得,特别是一些multithreading的,大家如果有特别好的办法,记得共享一下。Java底下的,我们自己还有一些可以定这个thread run到这个method挺一下之类的来check status,C++就完全无解。我写code很马大哈,所以C++ multithreading,我一般就直说我恐怕写不好,虽然以前发paper聊啥minimize critical section一套一套的。 接下来是repository。SourceSafe / CleanCase / cvs / svn / perforce / git都用过,不过现在就比较熟git和perforce了,svn工具多,也可以玩一玩。用了几年的cvs,现在一眼看去,是大不解了。别的bazaar啥的,只能把code check out下来编一编。个人很拜git,确实好用。自己的服务器上放到git repository使用gitosis,还比较简单。这个每个人各有喜好,也没啥好讨论的,就是放堆code的地方吗。git最好的就是没有每个目录给我来一个.svn这样的鬼东西,perforce也是,所以我比较喜欢这两个,仅此而已。(有那个东西的话,我找起东西来,还需要把伊滤掉,like: find . | grep -v "\.svn" | xargs grep -nH "xxx" {} \; (这个命令不做准啊,xargs大意如此,因为我平常只要find . -exec grep -nH "xxx" {} \;就行的) 接下来是code review。感谢国家,感谢党,感谢公司,我们可以用一个command很容易的发patch给相应的人,而且有一个online system做side-by-side的comparing,对效率大有帮助。谈code review不得不谈coding style,一个软件公司,应该有自己的coding style,保证code到哪看上去都差不多。有些人写code比较牛,比如一个函数一行就写完了(我是说很复杂的那种,我有个朋友以前一行可以写1000多个字的),到了组织里,只能不好意思,拉回去重写了。一个project,铁打的营盘流水的兵,要是你的code太牛,后面的人接不了手,再牛的project也只能扔到垃圾堆里,所以coding style是必要的。现在有很多lint工具可以保证coding style,我个人更希望工具能把coding style都包括进去了,否则一个team里,有些边缘的不同点,很容易伤了大家和气,影响以后的士气。不过貌似做lint的人都不怎么喜欢parsing code,所以做出来的lint都还不是特别精确。这方面java好些,有lint / checkstyle / findbug / ...一系列很好的工具,而且即使code已经进去,还是可以用Hudson / Jenkins之类的东西发现。 对于code review的几个原则:reviewer如果看不懂code,一定要弄懂,否则就不要盖章了。reviewer不光要弄懂code,还要理解design,这是最后的design review,这个时候roll-back,远比code出去了再这么干更好一点。reviewer态度一定要nice一点,人总是在不断鼓励中提高的,你打击人几次,人以后就伤了。关于CR的tool,review board / gerrit (Android用那个)等等等等,现在已经有好多,没有装的,赶紧装一个。(对了,以前svn有post code review的概念,个人不太喜欢,code review就是要side by side,有record的把意见啥的记下来,其实这是很好的提高水平的方法) 接下来是CI。没啥好说的,没有CI赶紧去搞一个,你不希望你的软件今天好明天坏,每天的时间都用来抓bug吧?谁出的问题,第一时间报出来总是好的。 还漏了不少,下次慢慢补了。其实,喜欢project,一心想把project做好,才是最重要的东西。 最近top-language => top-company中,发个贴应应景,让大家有点topic讨论讨论。也许跟lang没啥关系,但是大家不都是码农吗,也还是本行吧。 |
相关文章推荐
- zz:用MSBuild.... DailyBuild和软件开发流程的东东
- C54x DSP的软件开发环境与工具,开发流程—编译链接
- 软件开发流程、测试流程及常用工具
- [开发工具] Linux下常用的软件
- 软件开发工具总结
- java软件开发流程
- 手机视频通话软件开发流程
- 软件项目管理与开发流程管理 课程
- 科室软件开发流程规范
- GIS软件开发工具包TatukGIS Developer Kernel更新至v11.9丨附下载
- 软件开发流程
- C#软件开发实例.个人定制自己的屏幕抓图工具(八)加入了截图功能键盘
- QT开发(二十三)——软件开发流程
- 在软件开发流程中构筑卓越质量--软件测试管理(深圳,2016.6.24~25)
- 三维图形及动画软件开发流程
- 谈谈项目管理-软件项目的开发流程
- 【自考】软件开发工具
- 构建高效软件开发流程和团队 http://www.5apower.com/web/ShareDetail/ShareDetail.aspx?TaskID=1414
- 软件开发流程
- iOS开发之工具篇-20个可以帮你简化移动app开发流程的工具