参考指南
更新日期:
指南
性能
并发
测试
编写shards
简单的讲shards就是一些crystal的代码包,这些包可以被不同的项目共享使用。
举个例子,我们将创建一个叫做 palindrome-example的包
准备工作
在这个例子中,需要准备如下环境配置:
1.带有Crystal编译器的环境
2.git
3.github帐号
通过命令行 crystal init lib 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
2crystal tool format # 可以用于检查你的代码格式是否正确
crystal tool format --check # 只做检查,不做任何的代码改动
创建 shards.yml1
name: palindrome-example
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