title | date |
---|---|
<Language> <Application Type> |
1970-01-01 |
Please provide a brief language introduction here. You can mention the language's origins, strength, etc. This should include language specific features, too! Think of Go's channels, Elixir's “Let it crash” philosophy and so on.
Pretty much what you'd read on the box of the language if you were to see it on the shelf of a supermarket.
- A link to the official docs can be provided here.
- But really list resources you think are worth sharing.
Explain some general terminology that's being used in the community here.
If the language has support for (automated) dependency management this subchapter is a good place to explain how it is done for the given language.
If there are tools for managing different version provide possibilities here. Especially if there's more than one tool for that.
Maybe the language comes with testing support built-in, maybe we need separate dependencies here. This subchapter is a great place to explain different tools for different testing approaches!
Every language has either an expected layout or at least the community agreed on a common way to organize projects.
- src
- test
- main.file
It helps explain the conventions for file and directory names (e.g. do the tests live in test
, tests
, spec
, …?).
If applicable for the given language and project type we should also explain different testing strategies. Like approaches to unit-, controller-, integration- and acceptance-testing.
This does not always apply, so feel free to remove that subchapter if that is the case. For example if the guide is about a command-line program, explaining how to test controllers isn't really possible. Whereas if the guide focuses on a web-framework in a given language, it might be worthwhile explaining a controller- and acceptance-testing approach.
Every guide should come with an example repository that has working code to demonstrate a basic setup. Ideally there's a simple unit test available as well to demonstrate how to test with the language.
Provide instructions to run the actual application.
Show how to run the tests and if needed explain how different moving parts fit together.
Different testing strategies can be explained, too!