-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Tom Theile <theile@demogr.mpg.de>
- Loading branch information
Showing
4 changed files
with
82 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,57 +1,8 @@ | ||
# Git and code review guidelines | ||
# Good practices in scientific software development at the lab of digital and computational demography | ||
|
||
This repository contains several guides on software development at the lab of digital and computational demography: | ||
|
||
Git is a distributed version control system. | ||
It allows you to view and restore old versions of your files and manage the collaborative work on text files. | ||
[How to request and perform code reviews](HowToCodeReview.md) | ||
|
||
|
||
|
||
## How to use Git | ||
|
||
Git is a command-line program but you can use a graphical user interface if you prefer. Possible GUIs are TortoiseGit (available through the MPIDR software repository in the intranet) or Github Desktop or [many others]( https://git-scm.com/downloads/guis/ ) | ||
|
||
## Writing readme-files | ||
|
||
Your code should be usable and reproducible for other researchers. | ||
That means that you have to include at least a minimal documentation. | ||
|
||
A readme-file doesn't need to explain every detail of your software, but it should give the reader concise information about: | ||
* What is this code about? What does it do? Why would I need it? | ||
* How do I *use* it? | ||
* How do I *develop* it? | ||
|
||
Nowadays it is standard practise to write readmes in the [Markdown format]( https://en.wikipedia.org/wiki/Markdown ). | ||
In the next chapter I wrote a structure for a readme that you can use. | ||
|
||
|
||
### Example Structure | ||
|
||
Describe the essence of your software/library/code/snippet/data/whatever in one short sentence. | ||
|
||
##### About | ||
|
||
Describe what this software is. What it is like, what it is not like. Why is it useful. A picture or a working demonstration would be cool. | ||
If your software is still in beta-status and still contains many bugs, it would be good to include a warning about the current status. | ||
|
||
##### Installation | ||
|
||
How do I get started if I want to use the tool? | ||
What are the prerequisites? How to install them? | ||
|
||
##### Usage | ||
|
||
Include a basic example which explains the basic functionality in a simple way. You may also include more complex examples | ||
|
||
##### Development | ||
|
||
If you want that other people are able to contribute to your project, you may need to explain how to set up a suiting development environment. Often times the development is very different than the usage. | ||
|
||
##### Citation | ||
|
||
If you publish a scientific library, you can ask the users to cite a specific paper if they use it. You can give them the BibTex code for example | ||
|
||
##### Licence | ||
|
||
A licence removes uncertainty around who may use the software how. | ||
Look at https://choosealicense.com/ to find a suitable licence. | ||
[Writing good readmes](writingGoodReadmes.md) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Git and code review guidelines | ||
|
||
|
||
Git is a distributed version control system. | ||
It allows you to view and restore old versions of your files and manage the collaborative work on text files. | ||
|
||
|
||
|
||
## How to use Git | ||
|
||
Git is a command-line program but you can use a graphical user interface if you prefer. Possible GUIs are TortoiseGit (available through the MPIDR software repository in the intranet) or Github Desktop or [many others]( https://git-scm.com/downloads/guis/ ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# Writing good readme-files | ||
Writing good readme-files at the lab of digital and computational demography. | ||
|
||
|
||
|
||
## Writing readme-files | ||
|
||
Your code should be usable and reproducible for other researchers. | ||
That means that you have to include at least a minimal documentation. | ||
|
||
A readme-file doesn't need to explain every detail of your software, but it should give the reader concise information about: | ||
* What is this code about? What does it do? Why would I need it? | ||
* How do I *use* it? | ||
* How do I *develop* it? | ||
|
||
Nowadays it is standard practise to write readmes in the [Markdown format]( https://en.wikipedia.org/wiki/Markdown ). | ||
In the next chapter I wrote a structure for a readme that you can use. | ||
|
||
|
||
### Example Structure | ||
|
||
Describe the essence of your software/library/code/snippet/data/whatever in one short sentence. | ||
|
||
##### About | ||
|
||
Describe what this software is. What it is like, what it is not like. Why is it useful. A picture or a working demonstration would be cool. | ||
If your software is still in beta-status and still contains many bugs, it would be good to include a warning about the current status. | ||
|
||
##### Installation | ||
|
||
How do I get started if I want to use the tool? | ||
What are the prerequisites? How to install them? | ||
|
||
##### Usage | ||
|
||
Include a basic example which explains the basic functionality in a simple way. You may also include more complex examples | ||
|
||
##### Development | ||
|
||
If you want that other people are able to contribute to your project, you may need to explain how to set up a suiting development environment. Often times the development is very different than the usage. | ||
|
||
##### Citation | ||
|
||
If you publish a scientific library, you can ask the users to cite a specific paper if they use it. You can give them the BibTex code for example | ||
|
||
##### Licence | ||
|
||
A licence removes uncertainty around who may use the software how. | ||
Look at https://choosealicense.com/ to find a suitable licence. | ||
|