From f53f2cb5559857b7055f0b8307a8af341f400f73 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Mon, 22 Apr 2019 21:55:11 +0800 Subject: [PATCH] auto commit --- docs/notes/代码可读性.md | 4 ++-- docs/notes/构建工具.md | 3 ++- ...080fc925-5116-4d91-b8dd-9da5a541931d_200.png | Bin 0 -> 17408 bytes ...0f48-fdc8-4c57-8cb6-f19c6181555941244322.png | Bin 0 -> 8192 bytes ...6edb0f48-fdc8-4c57-8cb6-f19c618c25be_200.png | Bin 0 -> 8192 bytes 5 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 docs/pics/080fc925-5116-4d91-b8dd-9da5a541931d_200.png create mode 100644 docs/pics/6edb0f48-fdc8-4c57-8cb6-f19c6181555941244322.png create mode 100644 docs/pics/6edb0f48-fdc8-4c57-8cb6-f19c618c25be_200.png diff --git a/docs/notes/代码可读性.md b/docs/notes/代码可读性.md index 304c2805..d84dd9e9 100644 --- a/docs/notes/代码可读性.md +++ b/docs/notes/代码可读性.md @@ -48,11 +48,11 @@ - 用 min、max 表示数量范围; - 用 first、last 表示访问空间的包含范围; -

+

- begin、end 表示访问空间的排除范围,即 end 不包含尾部。 -

+

# 四、良好的代码风格 diff --git a/docs/notes/构建工具.md b/docs/notes/构建工具.md index f8f481ee..7d1dedef 100644 --- a/docs/notes/构建工具.md +++ b/docs/notes/构建工具.md @@ -34,7 +34,8 @@ 主要包括 Ant、Maven 和 Gradle。 -

+ +

Gradle 和 Maven 的区别是,它使用 Groovy 这种特定领域语言(DSL)来管理构建脚本,而不再使用 XML 这种标记性语言。因为项目如果庞大的话,XML 很容易就变得臃肿。 diff --git a/docs/pics/080fc925-5116-4d91-b8dd-9da5a541931d_200.png b/docs/pics/080fc925-5116-4d91-b8dd-9da5a541931d_200.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a93ae4bbd05982b3abf0b84d3377dd414b213d GIT binary patch literal 17408 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 G|Nk%I*&jRr literal 0 HcmV?d00001 diff --git a/docs/pics/6edb0f48-fdc8-4c57-8cb6-f19c6181555941244322.png b/docs/pics/6edb0f48-fdc8-4c57-8cb6-f19c6181555941244322.png new file mode 100644 index 0000000000000000000000000000000000000000..e26e9c28f83c226ae32810c5bbef96e0495cecd3 GIT binary patch literal 8192 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