文章目录
  1. 1. 指南
    1. 1.1. 性能
    2. 1.2. 并发
    3. 1.3. 测试
    4. 1.4. 编写shards
      1. 1.4.1. 准备工作

指南

性能

并发

测试

编写shards

简单的讲shards就是一些crystal的代码包,这些包可以被不同的项目共享使用。
举个例子,我们将创建一个叫做 palindrome-example的包

准备工作

在这个例子中,需要准备如下环境配置:
1.带有Crystal编译器的环境
2.git
3.github帐号

通过命令行 crystal init lib ,创建一个标准的shards目录结构。

1
2
3
4
5
6
7
8
9
10
11
12
$  crystal init lib palindrome-example
create palindrome-example/.gitignore
create palindrome-example/.editorconfig
create palindrome-example/LICENSE
create palindrome-example/README.md
create palindrome-example/.travis.yml
create palindrome-example/shard.yml
create palindrome-example/src/palindrome-example.cr
create palindrome-example/src/palindrome-example/version.cr
create palindrome-example/spec/spec_helper.cr
create palindrome-example/spec/palindrome-example_spec.cr
Initialized empty Git repository in /<YOUR-DIRECTORY>/.../palindrome-example/.git/

cd 到创建的Lib目录

1
cd palindrome-example

通过git add和commit将文件提交到版本库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 $  git add -A
$ git commit -am "First Commit"
[master (root-commit) 77bad84] First Commit
10 files changed, 102 insertions(+)
create mode 100644 .editorconfig
create mode 100644 .gitignore
create mode 100644 .travis.yml
create mode 100644 LICENSE
create mode 100644 README.md
create mode 100644 shard.yml
create mode 100644 spec/palindrome-example_spec.cr
create mode 100644 spec/spec_helper.cr
create mode 100644 src/palindrome-example.cr
create mode 100644 src/palindrome-example/version.cr

书写和测试代码 ,Crystal有一个内建的测试库可以用来测试。
书写代码文档,Crystal有一个内建的文档库可以使用。
可以运行 crystal docs命令来创建API文档,使用浏览器打开/docs/目录可以看到文档。

下面讲解将编译器生成的页面发布到github
文档准备好之后需要添加README.md文件(记得要替换掉 的连接)

1
[![Docs](https://img.shields.io/badge/docs-available-brightgreen.svg)](<LINK-TO-YOUR-DOCUMENTATION>)

书写README.md, 这个文件必须要包含以下几点:
1.介绍一下你的包
2.说明它的作用
3.如何使用它
文中最好包含少量的例子说明。
注意:确保把文中所有的 [your-github-name] 都替换成你自己的github用户名

编码风格
与标准库的写法保持一致是最好的

1
2
crystal tool format # 可以用于检查你的代码格式是否正确
crystal tool format --check # 只做检查,不做任何的代码改动

创建 shards.yml

1
name: palindrome-example # 你的包名,可以在 https://crystalshards.xyz/ 上先搜索一下看是否已经被占用

description: 是一个单行文本, 用来描述你的库 以及用于被搜索

在github上创建一个与name,和描述都同名的仓库 ,然后提交

1
2
3
4
$ git add -A && git commit -am "shard complete"

$ git remote add public https://github.com/<YOUR-GITHUB-NAME>/<YOUR-REPOSITORY-NAME>.git
$ git push public master # 推送到github

文章目录
  1. 1. 指南
    1. 1.1. 性能
    2. 1.2. 并发
    3. 1.3. 测试
    4. 1.4. 编写shards
      1. 1.4.1. 准备工作