比较好奇比较大型的项目是如何协作的,我这一直在小公司呆着,也没见识过,有个能参观一下也不错啊,涨涨见识。

2019-01-30 09:34:11 +08:00
 darktutu
3380 次点击
所在节点    问与答
22 条回复
choury
2019-01-30 10:21:20 +08:00
你参观下 linux 或者 chromium 不就行了
kidult
2019-01-30 10:22:16 +08:00
有啥好看的,项目经理和项目经理天天在撕逼呗

越是大的项目,效率越低
westoy
2019-01-30 10:23:31 +08:00
《人月神话》
webjin1
2019-01-30 10:25:50 +08:00
大型项目≠大公司
小型项目≠小公司
很多开源项目人家就没公司。
大公司我也没去过,但是上门送过一次东西去大型公司有幸见识到,比大型网吧都有大,工位特多。但是里面不吵都很安静。
Greenm
2019-01-30 10:26:32 +08:00
https://github.com/rapid7/metasploit-framework 这个项目应该不算小了。

基本的项目协作流程就是代码全通过新开分支,Pull Request 提交,任何人可以 code review,有权限的人来负责合并。所有的改动都由 PR 来实现。

大体上就是这样,还有一些其他的,比如 CI 测试、代码规范、写 commit 的要求等等就属于比较细节的东西了。整体说来这个项目的流程非常规范合理,值得学习。
xomix
2019-01-30 10:31:22 +08:00
我这几天才被领导教训过,因为我先写实体方法再写接口,他说如果我先写出来接口,那么调用方就可以开始利用依赖注入写代码了,我方法写完大家联调就行了,我感觉是还可以这样!!!
yanaraika
2019-01-30 10:31:27 +08:00
就说 chromium 吧,基本操作是所有走 PR + Review + 高测试覆盖率 + 静态分析 /动态检查 /fuzzing 全家桶,当然最重要的是控制贡献者的水平与整体风格。chromium 能搞起来的根本原因是 Google 往里面砸了很多钱,能招到一流的工程师+提供软硬件支持
loveCoding
2019-01-30 10:36:41 +08:00
一般是一个小需求开一个 feature 分支 ,从头做到尾,最后 code review 合并到主分支
xiaoxinshiwo
2019-01-30 10:39:49 +08:00
项目大,撕逼和甩锅就多,天天发邮件抄送对方领导
meteor957
2019-01-30 10:42:10 +08:00
战略性收藏
aitaii
2019-01-30 10:46:01 +08:00
@xiaoxinshiwo 抄送领导是精髓
onec
2019-01-30 10:48:04 +08:00
靠吼
markyun
2019-01-30 10:50:36 +08:00
我们前端多人协作,各自开发功能模块,会互相 review code,会提取公共组件。

之前使用 fork + pull requests 分支模式。 现在使用分支开发模式,大概分为这些;

上线主分支 master
开发主分支 develop
大功能块分支 feature
bug 分支 fixbug
周期迭代版本 sprint
预发布分支 release
markyun
2019-01-30 10:51:03 +08:00
我们前端多人协作,各自开发功能模块,会互相 review code,会提取公共组件。

之前使用 fork + pull requests 分支模式。 现在使用分支开发模式,大概分为这些;

上线主分支 master
开发主分支 develop
大功能块分支 feature
bug 分支 fixbug

大概就这样~
passerbytiny
2019-01-30 10:55:24 +08:00
前提,CMMI、ISO9001,或者二者都有。工程方法:已过时的瀑布式流程;兴起过一段的迭代(小瀑布式)流程;现行各种敏捷过程。
darktutu
2019-01-30 11:05:35 +08:00
@passerbytiny 每个过程感觉在每个公司落地的还是不一样的,虽然可能都是瀑布或者敏捷。
@markyun 只能看明白个大概,没用过所以都无法理解啊。。不是真是操作还是理解不够好啊
hymxm
2019-01-30 11:15:16 +08:00
@xiaoxinshiwo #9 哈哈哈 真实
sighforever
2019-01-30 15:56:18 +08:00
@passerbytiny
我觉得现在都是基于短时间迭代的项目了,这些上古时代的软件工程没啥用
jsq2627
2019-01-30 17:19:42 +08:00
@sighforever #18 需要保障一次交付质量的场景,例如外包、关键专业领域,没法敏捷迭代的
msg7086
2019-01-31 00:56:48 +08:00
@xomix #6 这其实就是 BDD,面向行为驱动。先规定你的程序表现如何,然后再用代码实现它。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/531776

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX