|
15 | 15 |
|
16 | 16 | ## Coding Guidelines
|
17 | 17 |
|
18 |
| -Make sure you comply with [elixir style guide](https://github.com/rrrene/elixir-style-guide). In order to automate the style checking, install [Credo](https://github.com/rrrene/credo) and run it before creating a new Pull Request. If possible, always run credo with `strict` flag: `mix credo --strict`. |
| 18 | +Make sure you comply with this [elixir style guide](https://github.com/rrrene/elixir-style-guide). In order to automate the style checking, install [Credo](https://github.com/rrrene/credo) and run it before creating a new Pull Request. If possible, always run credo with the `strict` flag: `mix credo --strict`. |
19 | 19 | Another must-have is to enable [Credo CI](http://credoci.inakalabs.com/) to automatically check your updates in GitHub.
|
20 | 20 |
|
21 | 21 | ## Build Tools
|
22 | 22 |
|
23 |
| -Before pushing a new Pull Request, run your unit tests locally and never push them if something is not green. If the project is open-source, setup [Travis CI](https://travis-ci.org) to automatically run your unit tests after each new change. Remember to add a badge to your README file informing the build is passing. |
| 23 | +Before pushing a new Pull Request, run your unit tests locally and never push them if something is not green. If the project is open-source, setup [Travis CI](https://travis-ci.org) to automatically run your unit tests after each new change. Remember to add a badge to your README file informing visitors that the build is passing. |
24 | 24 |
|
25 | 25 | ## Test Coverage
|
26 | 26 |
|
27 | 27 | Always aim at 100% code coverage for your tests.
|
28 | 28 | Don't deliver your code unless it has at least 75% coverage.
|
29 | 29 | For a deeper explanation, check [this blog post](http://inaka.net/blog/2015/02/24/test-exceptions/).
|
30 | 30 | Install [excoveralls](https://github.com/parroty/excoveralls) in your project and check the coverage before pushing new changes. If it's open-source, make sure to setup up [coveralls.io](https://coveralls.io) and add the coverage badge to your README file.
|
31 |
| -When using Travis CI, you can ask it to trigger a code coverage task after a successful build (check [.travis.yml](#travisyml) example below). |
| 31 | +When using Travis CI, you can ask it to trigger a code coverage task after a successful build (see [.travis.yml](#travisyml) example below). |
32 | 32 |
|
33 | 33 | ## Documentation
|
34 | 34 |
|
35 |
| -Exported functions in all your modules and the modules themselves, specially for open-source projects, should be documented using `@moduledoc` and `@doc` comments. Remember to install [ex_doc](https://github.com/elixir-lang/ex_doc) and have a proper task to build the doc files when needed. For open-source projects, [Inch CI](https://inch-ci.org) can be of use to check the documentation coverage, and you can also integrate it with Travis CI (check [.travis.yml](#travisyml) example below). |
| 35 | +Document exported functions in all your modules and the modules themselves, especially in open-source projects, which should be documented using `@moduledoc` and `@doc` comments. Remember to install [ex_doc](https://github.com/elixir-lang/ex_doc) and have a proper task to build the doc files when needed. For open-source projects, [Inch CI](https://inch-ci.org) can be of use to check the documentation coverage, and you can also integrate it with Travis CI (check [.travis.yml](#travisyml) example below). |
36 | 36 |
|
37 | 37 | ## Project Setup
|
38 | 38 |
|
@@ -83,7 +83,7 @@ The project's `mix.exs` file should include hex.pm package and description attri
|
83 | 83 |
|
84 | 84 | ### Travis.yml
|
85 | 85 |
|
86 |
| -Specially for open-source projects integrating open code checkers with Travis CI builds, the `.travis.yml` file in your project root folder should look similar to: |
| 86 | +Especially for open-source projects integrating open code checkers with Travis CI builds, the `.travis.yml` file in your project root folder should look similar to: |
87 | 87 |
|
88 | 88 | ```yml
|
89 | 89 | language: elixir
|
|
0 commit comments