hms-dbmi/gehlenborg-lab-best-practices

Name: gehlenborg-lab-best-practices

Owner: Harvard Medical School - Department of Biomedical Informatics

Description: Guidelines for creating medium-scale visualization software

Created: 2018-02-06 18:48:45.0

Updated: 2018-02-06 19:11:13.0

Pushed: 2018-02-06 19:03:04.0

Homepage: null

Size: 5

Language: null

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

gehlenborg-lab-best-practices

Guidelines for creating medium-scale visualization software

Find a problem
Mockup before coding
Choose a framework
Use version control
Document
Test
Version and package and reuse

There?s often some conventional artifact that should be the outcome of a project (Docker containers, Python or R packages, …) and there?s usually a conventional host for these artifacts (DockerHub, PyPi, CRAN, ?)

For some of these, Travis offers an integration out of the box? for the more idiosyncratic ones, you?ll need to tell Travis what to do.

You also don?t want to release after every commit: You?ll probably git tag releases, and when you push the tag, that will trigger the deployment process in Travis. We can point you at more examples. As you tag, semantic versioning is probably a good model, but we do not have a clear sense of when it?s time to move past v0.0.X.

Granular repos

Keep repos small. You message will be more clear, the build process will be simpler, the tests will run faster, and you?ll accumulate less tech debt, and you?ll make code reuse easier.

When a project is composed of multiple tools, use the dependency manager appropriate for your system, and reference tagged releases.

But? you?ll need to keep these versions up to date: suppliers may drop older ones.

Semantic versioning

Track issues

Use an issue tracker: Github is probably the default, but if you have good reason to use something else, don?t feel constrained.

Automate

If you?re doing something by hand that the computer could do, figure out how to make that happen. Maybe there?s a tool already out there, or make it takes a bash one-liner.

Errors

} else {

callback(data)

}

sk questions

k is often a good medium, as is chatting over lunch. Ask for PR reviews, or find the time to do larger code reviews with someone in the lab.

ON?T WORRY!!!

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.