{"action":"created","comment":{"url":"https://api.github.com/repos/baixing/Law/pulls/comments/104899239","pull_request_review_id":25753269,"id":104899239,"diff_hunk":"@@ -1,74 +1,504 @@\n ***\n \n-有若干细节还在讨论中\n+## \\# 编码原则\n+- 简明易懂；代码是给人看的，不仅仅只是给机器执行的\n+- 编码规范，命名风格统一\n+- 适当明确的代码注释\n \n-### \\# 通用约定：\n+## \\# 适用原则\n+- 所有新代码、新类、新需求开发采用本套编码规范\n+- 对于老代码、老类上的小范围修改延续该类的原有风格以保持局部的代码格式一致性，后续重构逐步演进\n \n-- 代码缩进全部用tab，在编辑器里面设置tab存为制表符，不要存为空格。不要打一堆空格来做缩进。(艾芙要吐槽，我们应该用四个空格代替tab)。\n-- SVN / Git 中新建文件编码类型统一用utf-8编码（不带BOM）。\n-- Unix 风格的换行: LF\n-- 所有可以直接访问的url中包含的文件名都是小写，如果是多个词组成，则用下划线连接。\n-- 行宽：120 字符\n+## \\# 规范用语说明\n+- 可以：表示允许操作\n+- 最好：最优的处理方式，非强制要求\n+- 一般：正常情况下按照规范执行，除非有特殊情况\n+- 必须：强制要求\n+- 没有以上用语的内容为要求按规范执行\n \n+## \\# 编码规范概要：\n \n-### \\# 代码规范\n-```php\n-<?php // 开头必须使用 <?php\n-// panxiaoliang@baixing.com 每个文件必须注明owner的邮箱\n+### 特别注意点\n+- 缩进用tab，不用空格 (与PSR-2规范不同)\n+- 类声明、函数声明、方法声明的{不换行（与PSR-2规范不同）\n+- 每个类文件要有owner邮箱和类功能说明\n+- 类变量、属性、方法命名采用驼峰命名，如camelNaming()\n+- 全局函数采用小写加下划线的命名，如array_map()\n+- 类名采用首字母大写不加下划线，如VipController\n+- 每个类单独一个文件\n+- 代码行行宽：120 字符，最好不超过80字符\n+- 命名长度：不超过40个字符，最好不超过25个字符\n+- 方法内代码块长度不超过2屏幕（80行），最好不超过1屏幕（40行）；超过了要求拆分方法\n+- 方法内代码块嵌套层级不超过4级，最好不超过3级；超过了要求重构逻辑或抽象方法\n \n-require_once('cg_conf/config.inc.php'); // require_once必须有括弧，并且左括弧前面没有空格\n+## \\# 工具配置\n+- [PhpStorm配置指南](https://github.com/baixing/haojing/wiki/PhpStorm-配置指南)\n \n-class CodingStandard { // 大括号前面加空格，类名开头字母大写，多个字母首字母大写\n-    private $attribute; // 属性注释直接注释在后方\n+## \\# 代码检查\n+- 提交代码和Code Review时按代码规范进行代码检查\n+- PhpStorm可以通过编辑区右侧滚动条的标识来确定代码干净程度\n+ - 黄色为有代码warning，如命名空间未使用、变量使用时未定义、变量定义未使用等\n+ - 红色为代码有错误，如没有写结尾的;或{}未匹配成对等\n+ - 编辑区右侧滚动条最顶部显示绿色的勾，标识代码已整理干净\n \n-    // 数组格式\n-    public $color = [\n-        '1' => 'red', // 用Tab缩进一次\n-        '2' => 'blue',\n-        '3' => 'yellow',\n-        '4' => [\n-            '1' => 'green',\t// 在前面的数组对齐列之后再tab缩进一次\n-            '2' => 'gray', // 最后一个元素也添加逗号\n-        ], // 数组的结尾与声明的变量最前面对齐\n-    ]; // 数组的结尾与数组变量声明的地方对齐\n+### 代码示例\n+```\n+<?php\n+// nanzhimin@baixing.com\n \n+namespace Vendor\\Package;\n \n-    public $number = [1, 2, 3, 4]; // 对于简单数组，可以放一行\n+use FooClass;\n+use BarClass as Bar;\n+use OtherVendor\\OtherPackage\\BazClass;\n \n-    // 方法的注释采用双斜线，尽量在一行内完成\n-    // 除非是文档性质的注释，例如 /** @var \\MUser $user */\n-    function foo($i, $list) { // 1.function名后面的(前面没有空格 2.多个参数，如果有逗号，那么逗号后面要有空格\n-        for ($j = 0; $j < $i; $j++) { // for后面加空格\n-            echo \"This is no.{$j}, content is {$list[$j]}\"; // echo语句不加括号。\n+/**\n+ * 这个类是用于做代码示例的\n+ */\n+abstract class ClassName extends ParentClass implements \\ArrayAccess, \\Countable {\n+    const CONST_NAME = 'nothing';\n \n-            // echo语句里面用单引号还是双引号，根据实际情况定\n-            echo '&lttable border=\"0\" cellspacing=\"5\" cellpadding=\"5\"&gt'; \n-        }\n-        if ($i > 0) { // 1.if后面加空格 2.操作符前后都要有空格\n-            return $i % 2; // 操作符前后是有空格的\n-        } else { // else前后也要有空格\n-            return null;\n-        }\n+    protected static $foo;\n \n-        if ($j == $i) return 1; // if里面只有一句语句且较短的情况，建议写成一行，如果要拆成多行，则前后建议加上括号。\n+    abstract protected function zim();\n \n-        $count = count($_SERVER); // 在外面写赋值\n-        if ($count > 10) echo 'pass'; // if里面只做布尔判断，不要写赋值语句\n-    }\n+    final public static function bar() {\n+        // method body\n+    }\n \n-    public static function testFunction() { // 静态非静态方法命名都遵守驼峰原则\n+    /**\n+     * 这个是用来做注释描述的函数\n+     * @param int   $arg1 参数1\n+     * @param bool  $arg2 参数2\n+     * @param array $arg3 参数3\n+     */\n+    public function fooBarBaz($arg1, &$arg2, $arg3 = []) {\n+        // method body\n     }\n }\n+```\n+\n+## \\# 编码规范细节：\n+\n+### PHP文件\n+- 文件编码类型统一用utf-8编码（不带BOM）\n+- 文件末尾留一个空行\n+- 仅含PHP代码的文件最后的?>标签忽略\n+- 文件名\n+ - 类文件：类名.php\n+ - 配置文件：全小写字母多单词用_分隔.php\n+\n+### 代码行\n+- 行宽：120 字符，最好不超过80字符\n+- Unix 风格的换行: LF\n+- 代码行结尾不带空格\n+- 适当添加空行来区分代码块增加代码可读性\n+- 每行不超过一条语句\n+\n+### 缩进\n+- 代码缩进全部用tab（与PSR-2不一致，特别注意）\n+\n+### 关键词\n+- PHP关键词采用全小写\n+\n+### 命名原则\n+- 新的概念命名需要在项目内部达成共识，与现有概念命名风格保持一致；现有概念参见[百姓概念命名与缩写规范](https://github.com/baixing/haojing/wiki/百姓概念命名与缩写规范（草案）)\n+- 变量命名、方法命名统一采用驼峰格式，如camelFormat\n+- 全局函数命名采用全小写字母加_格式，如array_map；全局函数只作为PHP函数库的补充，涉及业务的全局函数要求放到相关的类中\n+- 类名采用单词首字母大写格式，如OrderController；带类功能后缀，如-Controller, -Exception, -Operator, -Factory, -Storage, -Cache等\n+- 命名中的单词一般不建议缩写和拼音，除非常用单词太长或多个单词组成的命名超长时可以缩写，详见参见[百姓概念命名与缩写规范](https://github.com/baixing/haojing/wiki/百姓概念命名与缩写规范（草案）)\n+- 命名长度：不超过40个字符，最好不超过25个字符\n+\n+### 代码注释\n+- 注释规范遵循[PHP Doc规范](https://www.phpdoc.org/docs/latest/references/phpdoc/index.html)\n+- 所有类注释必须有类描述和owner邮箱\n+- 所有核心关键方法、函数注释必须包含描述、参数说明、返回值说明，必须时可以有具体函数逻辑\n+- 代码不明确的地方建议增加注释，存在复杂功能逻辑要求有明确的描述性注释\n+- 注释可以用中文\n+\n+### 完整类名与自动加载（PSR-4）\n+\n+这里的类指所有类、接口、trait和其他相似的结构\n+\n+\\\\\\<NamespaceName>(\\\\\\<SubNamespaceNames>)*\\\\\\<ClassName>\n+- 完整类名称要求顶级命名空间为供应商命名空间（Haojing NG已按这个规范，非NG代码不做此项限定）\n+- 完整类名称可以有一个或多个子命名空间\n+- 完整类名称末尾必须有一个类名\n+- _作为完整类名称的分隔符 \n+- 所有类目是字母大小写敏感的\n+- 自动加载文件时，完整类名称的前面命名空间对应文件夹名称，最后的类名加.php对应文件名\n+- 自动加载实现不能抛出异常，不能抛出任何级别的错误，不能返回值\n+\n+### 命名空间的使用\n+- 当存在时，use命名空间必须在namespace定义之后空一行空行\n+- 当存在时，所有use命名空间必须在namespace定义之后\n+- 每行声明必须使用一个use关键词\n+- use代码块之后必须有一行空行\n \n-$s = new CodingStandard(); // new一个对象，后面必须加括弧\n-$s->foo(10, $s->color); // 函数后面的括弧不要有空格，函数里面超过一个参数，逗号后面就要有空格\n-CodingStandard::testFunction(); // 静态代码的调用方式唯一，仅限双冒号调用方式\n ```\n-php文件**不要**以 ?> 结尾。\n+<?php\n+// nanzhimin@baixing.com\n+\n+namespace Vendor\\Package;\n+\n+use FooClass;\n+use BarClass as Bar;\n+use OtherVendor\\OtherPackage\\BazClass;\n+\n+// ... additional PHP code ...\n+```\n+\n+### 类、属性、方法\n+\n+这里的类指所有类、接口、trait\n+- 首行为<?php，后面不跟空格\n+- 第二行写文件创建人邮箱，如// owner@baixing.com，后面空一行\n+- extends和implements关键字必须与类名字在一行\n+- {放在类名声明末尾同一行，}必须在代码块后面一行\n+\n+```<?php\n+// nanzhimin@baixing.com\n+\n+namespace Vendor\\Package;\n+\n+use FooClass;\n+use BarClass as Bar;\n+use OtherVendor\\OtherPackage\\BazClass;\n+\n+class ClassName extends ParentClass implements \\ArrayAccess, \\Countable {\n+    // constants, properties, methods\n+}\n+```\n+\n+- implements列表可以分拆成多行，每个一行；这么做时，第一项必须在下一行，并且之后每行只能有一个接口\n+\n+```\n+<?php\n+// nanzhimin@baixing.com\n+\n+namespace Vendor\\Package;\n+\n+use FooClass;\n+use BarClass as Bar;\n+use OtherVendor\\OtherPackage\\BazClass;\n+\n+class ClassName extends ParentClass implements\n+    \\ArrayAccess,\n+    \\Countable,\n+    \\Serializable {\n+    // constants, properties, methods\n+}\n+```\n+\n+### 常量\n+- 类常量必须使用全部大写，单词间使用_分隔\n+```\n+<?php\n+// nanzhimin@baixing.com\n+\n+namespace Vendor\\Package;\n+\n+class ClassName {\n+    const CONST_NAME = 'nothing';\n+}\n+```\n+\n+### 属性\n+\n+- 所有属性必须有可见性声明\n+- var关键字不能用于声明属性\n+- 每个语句不能定义多余一个属性\n+- 属性名称不能使用前导_来指示protected或private的可见性\n+- 对象类型的属性，需要用如/* @var ClassName $param */的注释指示变量对象类型；这个注释可以写成三行的格式\n+\n+```\n+<?php\n+// nanzhimin@baixing.com\n+\n+namespace Vendor\\Package;\n+\n+class ClassName {\n+    /* @var ClassName $foo */\n+    public $foo = null;\n+}\n+```\n+\n+### 方法\n+\n+- 可见性必须被声明在所有方法上\n+- 方法名称不能使用前导_来指示protected或private的可见性\n+- 方法名之后不能有空格。{在)同一行，}必须在代码块后面一行。(后不能有空格，)前不能有空格\n+- 方法内代码块长度不超过2屏幕（80行），最好不超过1屏幕（40行）；超过了要求拆分方法\n+- 方法内代码块嵌套层级不超过4级，最好不超过3级；超过了要求重构逻辑或抽象方法\n+\n+```\n+<?php\n+// nanzhimin@baixing.com\n+\n+namespace Vendor\\Package;\n+\n+class ClassName {\n+    public function fooBarBaz($arg1, &$arg2, $arg3 = []) {\n+        // method body\n+    }\n+}\n+```\n+\n+### 方法参数\n+\n+- 在参数列表中，每个逗号前不能有空格，逗号后必须有一个空格\n+- 带默认值的参数必须在参数列表的最后\n+- 参数列表可以被分成多行，每个子序列带一个缩进；当这么做时，列表的第一项必须在下一行，并且之后每行一个参数\n+- 当参数列表被分成多行时，)必须放置在{的一行，且中间有一个空格\n+- 参数如果是特定类型的对象的，该参数前显示声明对象类型\n+- 方法参数建议不超过5个参数，一般不超过8个参数；如超过了，要求重构函数或以数据、对象作为参数传递\n+\n+```\n+<?php\n+// nanzhimin@baixing.com\n+\n+namespace Vendor\\Package;\n+\n+class ClassName {\n+    public function aVeryLongMethodName(\n+        ClassTypeHint $arg1,\n+        &$arg2,\n+        array $arg3 = []\n+    ) {\n+        // method body\n+    }\n+}\n+```\n+\n+abstract, final和static\n+- 当存在时，abstract和final声明必须在可见性声明之前\n+- 当存在时，static声明必须在可见性声明之后\n+\n+```\n+<?php\n+// nanzhimin@baixing.com\n+\n+namespace Vendor\\Package;\n+\n+abstract class ClassName {\n+    protected static $foo;\n+\n+    abstract protected function zim();\n+\n+    final public static function bar() {\n+        // method body\n+    }\n+}\n+```\n+\n+### 方法与函数调用\n+\n+- 方法与函数调用时，方法或函数名与(之间不能有空格，(之后不能有空格，)之前不能有空格。在参数列表中，每个逗号前不能有空格，逗号后必须有一个空格\n+\n+```\n+<?php\n+bar();\n+$foo->bar($arg1);\n+Foo::bar($arg2, $arg3);\n+```\n+\n+- 参数列表可以被分成多行，每个子序列带一个缩进；当这么做时，列表的第一项必须在下一行，并且之后每行一个参数\n+\n+```\n+<?php\n+$foo->bar(\n+    $longArgument,\n+    $longerArgument,\n+    $muchLongerArgument\n+);\n+```\n+- 函数或方法调用的)后不直接跟取键值操作\n+\n+### 控制结构的代码基本规范\n+\n+- 控制关键字后必须有一个空格\n+- (后不能有空格，)前不能有空格\n+- )和{之间必须有一个空格\n+- 结构体必须有一个缩进\n+- }必须在代码块下面一行\n+- 条件语句里不包含赋值语句\n+\n+### if, elseif, else\n+\n+- elseif代替else if，使得看起来是一个关键字","path":"PHP-代码规范.md","position":427,"original_position":375,"commit_id":"ca60bbadcc21c128b49916314afd4fb178b926b6","original_commit_id":"fc685f9e1bedaa5c596008d1972116d546ce3f6c","user":{"login":"stdrickforce","id":4176855,"avatar_url":"https://avatars2.githubusercontent.com/u/4176855?v=3","gravatar_id":"","url":"https://api.github.com/users/stdrickforce","html_url":"https://github.com/stdrickforce","followers_url":"https://api.github.com/users/stdrickforce/followers","following_url":"https://api.github.com/users/stdrickforce/following{/other_user}","gists_url":"https://api.github.com/users/stdrickforce/gists{/gist_id}","starred_url":"https://api.github.com/users/stdrickforce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stdrickforce/subscriptions","organizations_url":"https://api.github.com/users/stdrickforce/orgs","repos_url":"https://api.github.com/users/stdrickforce/repos","events_url":"https://api.github.com/users/stdrickforce/events{/privacy}","received_events_url":"https://api.github.com/users/stdrickforce/received_events","type":"User","site_admin":false},"body":"@Tiny-Box 现有的没必要全部改掉，提交的代码按照新规范来，也是没什么问题的。\r\n其实我当时看到这条之后现在一直也就用elseif连写的形式了。","created_at":"2017-03-08T11:35:11Z","updated_at":"2017-03-08T11:35:11Z","html_url":"https://github.com/baixing/Law/pull/6#discussion_r104899239","pull_request_url":"https://api.github.com/repos/baixing/Law/pulls/6","_links":{"self":{"href":"https://api.github.com/repos/baixing/Law/pulls/comments/104899239"},"html":{"href":"https://github.com/baixing/Law/pull/6#discussion_r104899239"},"pull_request":{"href":"https://api.github.com/repos/baixing/Law/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/baixing/Law/pulls/6","id":102893255,"html_url":"https://github.com/baixing/Law/pull/6","diff_url":"https://github.com/baixing/Law/pull/6.diff","patch_url":"https://github.com/baixing/Law/pull/6.patch","issue_url":"https://api.github.com/repos/baixing/Law/issues/6","number":6,"state":"open","locked":false,"title":"PHP代码规范新版提案","user":{"login":"hax","id":159840,"avatar_url":"https://avatars3.githubusercontent.com/u/159840?v=3","gravatar_id":"","url":"https://api.github.com/users/hax","html_url":"https://github.com/hax","followers_url":"https://api.github.com/users/hax/followers","following_url":"https://api.github.com/users/hax/following{/other_user}","gists_url":"https://api.github.com/users/hax/gists{/gist_id}","starred_url":"https://api.github.com/users/hax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hax/subscriptions","organizations_url":"https://api.github.com/users/hax/orgs","repos_url":"https://api.github.com/users/hax/repos","events_url":"https://api.github.com/users/hax/events{/privacy}","received_events_url":"https://api.github.com/users/hax/received_events","type":"User","site_admin":false},"body":"可在本PR下讨论，全部讨论完成后再合并。","created_at":"2017-01-24T10:46:54Z","updated_at":"2017-03-08T11:35:11Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6d23f5412b3c4d9827959cb3ec498379c647415e","assignee":{"login":"hax","id":159840,"avatar_url":"https://avatars3.githubusercontent.com/u/159840?v=3","gravatar_id":"","url":"https://api.github.com/users/hax","html_url":"https://github.com/hax","followers_url":"https://api.github.com/users/hax/followers","following_url":"https://api.github.com/users/hax/following{/other_user}","gists_url":"https://api.github.com/users/hax/gists{/gist_id}","starred_url":"https://api.github.com/users/hax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hax/subscriptions","organizations_url":"https://api.github.com/users/hax/orgs","repos_url":"https://api.github.com/users/hax/repos","events_url":"https://api.github.com/users/hax/events{/privacy}","received_events_url":"https://api.github.com/users/hax/received_events","type":"User","site_admin":false},"assignees":[{"login":"hax","id":159840,"avatar_url":"https://avatars3.githubusercontent.com/u/159840?v=3","gravatar_id":"","url":"https://api.github.com/users/hax","html_url":"https://github.com/hax","followers_url":"https://api.github.com/users/hax/followers","following_url":"https://api.github.com/users/hax/following{/other_user}","gists_url":"https://api.github.com/users/hax/gists{/gist_id}","starred_url":"https://api.github.com/users/hax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hax/subscriptions","organizations_url":"https://api.github.com/users/hax/orgs","repos_url":"https://api.github.com/users/hax/repos","events_url":"https://api.github.com/users/hax/events{/privacy}","received_events_url":"https://api.github.com/users/hax/received_events","type":"User","site_admin":false},{"login":"zhujunsan","id":839807,"avatar_url":"https://avatars1.githubusercontent.com/u/839807?v=3","gravatar_id":"","url":"https://api.github.com/users/zhujunsan","html_url":"https://github.com/zhujunsan","followers_url":"https://api.github.com/users/zhujunsan/followers","following_url":"https://api.github.com/users/zhujunsan/following{/other_user}","gists_url":"https://api.github.com/users/zhujunsan/gists{/gist_id}","starred_url":"https://api.github.com/users/zhujunsan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zhujunsan/subscriptions","organizations_url":"https://api.github.com/users/zhujunsan/orgs","repos_url":"https://api.github.com/users/zhujunsan/repos","events_url":"https://api.github.com/users/zhujunsan/events{/privacy}","received_events_url":"https://api.github.com/users/zhujunsan/received_events","type":"User","site_admin":false},{"login":"witmax","id":20884496,"avatar_url":"https://avatars1.githubusercontent.com/u/20884496?v=3","gravatar_id":"","url":"https://api.github.com/users/witmax","html_url":"https://github.com/witmax","followers_url":"https://api.github.com/users/witmax/followers","following_url":"https://api.github.com/users/witmax/following{/other_user}","gists_url":"https://api.github.com/users/witmax/gists{/gist_id}","starred_url":"https://api.github.com/users/witmax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/witmax/subscriptions","organizations_url":"https://api.github.com/users/witmax/orgs","repos_url":"https://api.github.com/users/witmax/repos","events_url":"https://api.github.com/users/witmax/events{/privacy}","received_events_url":"https://api.github.com/users/witmax/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/baixing/Law/pulls/6/commits","review_comments_url":"https://api.github.com/repos/baixing/Law/pulls/6/comments","review_comment_url":"https://api.github.com/repos/baixing/Law/pulls/comments{/number}","comments_url":"https://api.github.com/repos/baixing/Law/issues/6/comments","statuses_url":"https://api.github.com/repos/baixing/Law/statuses/ca60bbadcc21c128b49916314afd4fb178b926b6","head":{"label":"hax:php-update","ref":"php-update","sha":"ca60bbadcc21c128b49916314afd4fb178b926b6","user":{"login":"hax","id":159840,"avatar_url":"https://avatars3.githubusercontent.com/u/159840?v=3","gravatar_id":"","url":"https://api.github.com/users/hax","html_url":"https://github.com/hax","followers_url":"https://api.github.com/users/hax/followers","following_url":"https://api.github.com/users/hax/following{/other_user}","gists_url":"https://api.github.com/users/hax/gists{/gist_id}","starred_url":"https://api.github.com/users/hax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hax/subscriptions","organizations_url":"https://api.github.com/users/hax/orgs","repos_url":"https://api.github.com/users/hax/repos","events_url":"https://api.github.com/users/hax/events{/privacy}","received_events_url":"https://api.github.com/users/hax/received_events","type":"User","site_admin":false},"repo":{"id":79704351,"name":"Code","full_name":"hax/Code","owner":{"login":"hax","id":159840,"avatar_url":"https://avatars3.githubusercontent.com/u/159840?v=3","gravatar_id":"","url":"https://api.github.com/users/hax","html_url":"https://github.com/hax","followers_url":"https://api.github.com/users/hax/followers","following_url":"https://api.github.com/users/hax/following{/other_user}","gists_url":"https://api.github.com/users/hax/gists{/gist_id}","starred_url":"https://api.github.com/users/hax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hax/subscriptions","organizations_url":"https://api.github.com/users/hax/orgs","repos_url":"https://api.github.com/users/hax/repos","events_url":"https://api.github.com/users/hax/events{/privacy}","received_events_url":"https://api.github.com/users/hax/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/hax/Code","description":"没有规矩，不成方圆","fork":true,"url":"https://api.github.com/repos/hax/Code","forks_url":"https://api.github.com/repos/hax/Code/forks","keys_url":"https://api.github.com/repos/hax/Code/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hax/Code/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hax/Code/teams","hooks_url":"https://api.github.com/repos/hax/Code/hooks","issue_events_url":"https://api.github.com/repos/hax/Code/issues/events{/number}","events_url":"https://api.github.com/repos/hax/Code/events","assignees_url":"https://api.github.com/repos/hax/Code/assignees{/user}","branches_url":"https://api.github.com/repos/hax/Code/branches{/branch}","tags_url":"https://api.github.com/repos/hax/Code/tags","blobs_url":"https://api.github.com/repos/hax/Code/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hax/Code/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hax/Code/git/refs{/sha}","trees_url":"https://api.github.com/repos/hax/Code/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hax/Code/statuses/{sha}","languages_url":"https://api.github.com/repos/hax/Code/languages","stargazers_url":"https://api.github.com/repos/hax/Code/stargazers","contributors_url":"https://api.github.com/repos/hax/Code/contributors","subscribers_url":"https://api.github.com/repos/hax/Code/subscribers","subscription_url":"https://api.github.com/repos/hax/Code/subscription","commits_url":"https://api.github.com/repos/hax/Code/commits{/sha}","git_commits_url":"https://api.github.com/repos/hax/Code/git/commits{/sha}","comments_url":"https://api.github.com/repos/hax/Code/comments{/number}","issue_comment_url":"https://api.github.com/repos/hax/Code/issues/comments{/number}","contents_url":"https://api.github.com/repos/hax/Code/contents/{+path}","compare_url":"https://api.github.com/repos/hax/Code/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hax/Code/merges","archive_url":"https://api.github.com/repos/hax/Code/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hax/Code/downloads","issues_url":"https://api.github.com/repos/hax/Code/issues{/number}","pulls_url":"https://api.github.com/repos/hax/Code/pulls{/number}","milestones_url":"https://api.github.com/repos/hax/Code/milestones{/number}","notifications_url":"https://api.github.com/repos/hax/Code/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hax/Code/labels{/name}","releases_url":"https://api.github.com/repos/hax/Code/releases{/id}","deployments_url":"https://api.github.com/repos/hax/Code/deployments","created_at":"2017-01-22T08:22:39Z","updated_at":"2017-01-22T08:24:20Z","pushed_at":"2017-02-05T14:30:27Z","git_url":"git://github.com/hax/Code.git","ssh_url":"git@github.com:hax/Code.git","clone_url":"https://github.com/hax/Code.git","svn_url":"https://github.com/hax/Code","homepage":null,"size":39,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"baixing:master","ref":"master","sha":"66b864c7ef7eaf38ef29f8eedfd0272e0354c431","user":{"login":"baixing","id":1555810,"avatar_url":"https://avatars1.githubusercontent.com/u/1555810?v=3","gravatar_id":"","url":"https://api.github.com/users/baixing","html_url":"https://github.com/baixing","followers_url":"https://api.github.com/users/baixing/followers","following_url":"https://api.github.com/users/baixing/following{/other_user}","gists_url":"https://api.github.com/users/baixing/gists{/gist_id}","starred_url":"https://api.github.com/users/baixing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baixing/subscriptions","organizations_url":"https://api.github.com/users/baixing/orgs","repos_url":"https://api.github.com/users/baixing/repos","events_url":"https://api.github.com/users/baixing/events{/privacy}","received_events_url":"https://api.github.com/users/baixing/received_events","type":"Organization","site_admin":false},"repo":{"id":6279750,"name":"Law","full_name":"baixing/Law","owner":{"login":"baixing","id":1555810,"avatar_url":"https://avatars1.githubusercontent.com/u/1555810?v=3","gravatar_id":"","url":"https://api.github.com/users/baixing","html_url":"https://github.com/baixing","followers_url":"https://api.github.com/users/baixing/followers","following_url":"https://api.github.com/users/baixing/following{/other_user}","gists_url":"https://api.github.com/users/baixing/gists{/gist_id}","starred_url":"https://api.github.com/users/baixing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baixing/subscriptions","organizations_url":"https://api.github.com/users/baixing/orgs","repos_url":"https://api.github.com/users/baixing/repos","events_url":"https://api.github.com/users/baixing/events{/privacy}","received_events_url":"https://api.github.com/users/baixing/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/baixing/Law","description":"没有规矩，不成方圆","fork":false,"url":"https://api.github.com/repos/baixing/Law","forks_url":"https://api.github.com/repos/baixing/Law/forks","keys_url":"https://api.github.com/repos/baixing/Law/keys{/key_id}","collaborators_url":"https://api.github.com/repos/baixing/Law/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/baixing/Law/teams","hooks_url":"https://api.github.com/repos/baixing/Law/hooks","issue_events_url":"https://api.github.com/repos/baixing/Law/issues/events{/number}","events_url":"https://api.github.com/repos/baixing/Law/events","assignees_url":"https://api.github.com/repos/baixing/Law/assignees{/user}","branches_url":"https://api.github.com/repos/baixing/Law/branches{/branch}","tags_url":"https://api.github.com/repos/baixing/Law/tags","blobs_url":"https://api.github.com/repos/baixing/Law/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/baixing/Law/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/baixing/Law/git/refs{/sha}","trees_url":"https://api.github.com/repos/baixing/Law/git/trees{/sha}","statuses_url":"https://api.github.com/repos/baixing/Law/statuses/{sha}","languages_url":"https://api.github.com/repos/baixing/Law/languages","stargazers_url":"https://api.github.com/repos/baixing/Law/stargazers","contributors_url":"https://api.github.com/repos/baixing/Law/contributors","subscribers_url":"https://api.github.com/repos/baixing/Law/subscribers","subscription_url":"https://api.github.com/repos/baixing/Law/subscription","commits_url":"https://api.github.com/repos/baixing/Law/commits{/sha}","git_commits_url":"https://api.github.com/repos/baixing/Law/git/commits{/sha}","comments_url":"https://api.github.com/repos/baixing/Law/comments{/number}","issue_comment_url":"https://api.github.com/repos/baixing/Law/issues/comments{/number}","contents_url":"https://api.github.com/repos/baixing/Law/contents/{+path}","compare_url":"https://api.github.com/repos/baixing/Law/compare/{base}...{head}","merges_url":"https://api.github.com/repos/baixing/Law/merges","archive_url":"https://api.github.com/repos/baixing/Law/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/baixing/Law/downloads","issues_url":"https://api.github.com/repos/baixing/Law/issues{/number}","pulls_url":"https://api.github.com/repos/baixing/Law/pulls{/number}","milestones_url":"https://api.github.com/repos/baixing/Law/milestones{/number}","notifications_url":"https://api.github.com/repos/baixing/Law/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/baixing/Law/labels{/name}","releases_url":"https://api.github.com/repos/baixing/Law/releases{/id}","deployments_url":"https://api.github.com/repos/baixing/Law/deployments","created_at":"2012-10-18T14:19:50Z","updated_at":"2017-02-04T08:02:15Z","pushed_at":"2017-02-05T14:30:28Z","git_url":"git://github.com/baixing/Law.git","ssh_url":"git@github.com:baixing/Law.git","clone_url":"https://github.com/baixing/Law.git","svn_url":"https://github.com/baixing/Law","homepage":null,"size":31,"stargazers_count":10,"watchers_count":10,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":2,"forks":7,"open_issues":2,"watchers":10,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/baixing/Law/pulls/6"},"html":{"href":"https://github.com/baixing/Law/pull/6"},"issue":{"href":"https://api.github.com/repos/baixing/Law/issues/6"},"comments":{"href":"https://api.github.com/repos/baixing/Law/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/baixing/Law/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/baixing/Law/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/baixing/Law/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/baixing/Law/statuses/ca60bbadcc21c128b49916314afd4fb178b926b6"}}}}
{"actor":{"display_login":"stdrickforce"}}