exTHmUI Team 规范 1 – Commit Message

发布于 28 天前  43 次阅读


通用

一般来讲你的commit的文件改动内容一定不能杂,修改/实现/修复/移除相应的功能,在单次commit里,就必须写上相应的功能介绍。格式如下:
<库名>: <修改目标>: <修改描述>
举例:
Project: core: Clean up unused import

其他未在此文档中举例的情况请自行选用合适的语句来描述。
语句语法标准:

  1. <库名> 须将每个单词首字母大写(特殊单词请按照标准规范)且不能包含~`[email protected]#$%^&*()_+-={}|[]\:";'<>?,./等符号,且不能包含空格,如: exTHmUISettings。
  2. <修改目标> 请写易于辨别的最终目标,如src/java/com/example/Main.java,可直接写为Main(不带扩展名),若修改目标为多个,请用&连接,若修改目标过多,请选用能够简述的方式。如: 修改a120、a121、a122、a123可写为a12x(0123)或a12x(0-3)[仅可在连贯时使用]。
  3. <修改描述> 请使用标准英语语法书写,需要注意的是不可以带任何形式的括号,包括{}()[]。如: Add user detection。

常出现的情况示例:

修改

我们设计一个情景:假如在Project项目中(此名皆可为后续例子做参考),我的commit将下方代码:
`example/a.java':

...
int b = 1;
...

修改为了:
example/a.java:

...
String b = &quot;1&quot;;
...

那么我们的commit message就应大致写成:
Project: a.java: int to String for b或者Project: a.java: int b -> String b(怎么言简意赅就怎么来)

分块修改

在Android源码开发时,某些功能的实现需要修改多个库。我们就此来设计一个情景:
假如我们要添加一个功能,须要同时修改两个库,分别是repo1repo2,那么commit就应该像下面这样写:
repo1:
repo1&repo2: Add a example feature <1/2>
repo2:
repo1&repo2: Add a example feature <2/2>
这里需要注意的是,两个commit的修改描述须相同,区别在于最后的<x/y>,这同样可扩展至同时修改n个库的情况。

优化

这里的例子自己用前面的例子脑补一下,直接进入正题:
<库名>: <目标所属文件名>: Optimize <优化目标(比如Button)>
就如同下方代码优化:

&lt;Button
android:id=&quot;@+id/example_button&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;50dp&quot;/&gt;

修改为:

&lt;Button
android:id=&quot;@+id/example_button&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;wrap_content&quot;/&gt;

修改Button控件高为自适应使其看上去更自然一些,目的即在于此。所以commit message应写为:
Project: <目标所属文件名>: Make layout_height is warp_content for example

移除

若移除功能: <库名>: <目标所属文件名>: Remove <功能名>
若移除某文件: <库名>: <目标文件>

By exTHmUI团队 最后修订于 2020/01/31 22:30


私は世界で最高の自分ではありません。