组件化攻略 - 代码物理隔离
当不了解Project Code时,
当新加入一个团队时,
当接盘一个新功能时。
你需要各司其职的天然屏障,物理隔离。Git提供了这样的机会
。
利用git submodule进行代码的文件隔离
submodule子模块系统
git管理,适合project的团队开发代码管理;对标的还有SVN。
这是接触了好多年的代码管理。
其优势
- 文件系统级的物理隔离
- 可以自由组合想要的submodule
- 能缩短编译时间
submodule的大概用法
这并非本文的协作意图。会从简描述。
假设你想把 Rack 库加入到你的项目中
git submodule add git://github.com/chneukirchen/rack.git rack
首先你注意到有一个.gitmodules文件。
这是一个配置文件,保存了项目 URL 和你拉取到的本地子目录
$ cat .gitmodules
[submodule "rack"]path = rackurl = git://github.com/chneukirchen/rack.git
注意事项
需要完全删除子模块,重新拉去代码时,你需要清除cache
git rm -r --cached moduleName
rm -rf .git/modules/moduleName
小结
本文很短,绝大部分人都清楚。
写它的目的何在呢?
利用submodule是组件化的通过submodule的视角
进行规范开发行为,进而改变开发规范的思量。
这种优化在部分公司不一定就需要上,适用性也需要个人去考量。
但是这提供了代码物理隔离
,讲道理,任何submodule不down下来,App Module也应可以跑。这就能检验你的代码隔离
,在module级
是否做了?
组件化攻略 - 代码物理隔离相关推荐
- 【转贴】pentaho4.5汉化攻略及汉化文件
pentaho4.5汉化攻略及汉化文件 一.biserver-ce\tomcat\webapps\pentaho\mantle\messages\mantleMessages_supported_la ...
- Omi教程-组件通讯攻略大全
组件通讯 Omi框架组建间的通讯非常遍历灵活,因为有许多可选方案进行通讯: 通过在组件上声明 data-* 传递给子节点 通过在组件上声明 data 传递给子节点 (支持复杂数据类型的映射) 父容器设 ...
- Eclipse美(黑)化攻略
公司现在开发用的还是Eclipse(以下简称ADT),虽然在我看来AndroidStudio(以下简称AS)代替Eclipse是没问题的,但是版本号没到1.0还是让以之投入正式使用的人们有一丝顾虑. ...
- [文档].Altera – SOPC Builder组件开发攻略
SOPC Builder组件即符合Avalon规范的自定义IP. 目录 SOPC Builder组件及组件编辑器 必要条件 软硬件需求 组件开发流程 设计范例:Checksum硬件加速器 分享组件 系 ...
- 弹出窗口全攻略,代码,方法
经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项.版权信息.警告.欢迎光顾之类的话或者作者想要特别提示的信息.其实制作这 ...
- 股票量化分析工具QTYX使用攻略代码说明——高速版本地行情源v2.5.1
搭建自己的量化系统 如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统.否则,赚钱或者亏钱我们很难归纳总结,往往是凭借运气赚钱,而不是合理的系统模型,一时凭借运气赚的钱长期来看会因为实力还回 ...
- 天池 Docker 练习场比赛详细攻略+代码
文章目录 1. 比赛内容 2. 编写代码 3. 构建镜像并推送 本文将详细讲述天池 Docker 练习场的比赛流程,并贴出代码以供参考 1. 比赛内容 题目: 输出 Hello world 计算 /t ...
- csdn 涨粉攻略 代码(二)粉丝数 webmagic 爬虫
获取粉丝数目 package com.web;import java.util.regex.Matcher; import java.util.regex.Pattern;import us.code ...
- python pandas 读取excel 去重某一列_Python中Pandas读取修改excel操作攻略(代码示例)...
本篇文章给大家带来的内容是关于Python中Pandas读取修改excel操作攻略(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 环境:python 3.6.8 以某米赛 ...
最新文章
- 程序员趣味读物:谈谈Unicode编码
- 007_Checkbox多选框
- opencv 通过网络连接工业相机_单目摄像机测距(python+opencv)
- 读:[你必须知道的.NET] 第五回:深入浅出关键字---把new说透
- 相芯科技蔡锐涛:AI虚拟形象——没有最完美,只有更完美
- openstack 热迁移(Live Migration)和冷迁移(Cold Migration)
- MySQL自定义排序函数FIELD()
- C# 站点IP访问频率限制 针对单个站点
- 判断字符串中是否包含指定字符(JavaScript)
- C语言(二)- 函数、指针、数组
- C#中的多线程 - 多线程的使用 z
- 计算机及格率用什么函数,excel计算及格率函数的使用教程
- location属性和prototype属性介绍
- Win系统使用WSL子系统Linux启动vGPU增强图形性能加速OpenGL
- 如何快速撰写文章—伪原创
- 电子制作——一个电调的诞生之路
- 数字信号处理之期中斩神篇(一重 搬山)
- 【转载】详细设计说明书模板
- 阿里的“无用”和“有用”
- Data Abort产生的原因
热门文章
- 安规测试 之耐压测试
- 狂奔的方便速食,跑不到风口终点
- 电票系统(ECDS)常用名词解释
- 小白系列(1) | 计算机视觉之图像分类
- SpringBoot实战(四):SpringBoot整合Redis
- h5页面自定义字体_H5页面视觉设计中的字体有哪几种
- Cloudreve免费开源网盘系统源代码Cloudreve公私兼备网盘系统 多功能仿百度网盘源码+免费分享
- C-Lodop云打印服务器 v3.075
- 编程序求解方程实数根
- 盒子读取服务器视频文件,电视盒子怎么看U盘里的视频?巧用当贝市场,教你一招轻松搞定...