Skip to content

Latest commit

 

History

History
72 lines (54 loc) · 2.61 KB

best_practices.md

File metadata and controls

72 lines (54 loc) · 2.61 KB

System

Workstation computer: Linux Ubuntu

Personal computer: Use whatever you want (though most use Apple/Mac machines).

Recommended Packages

Mac

Windows

All Operating Systems

  • Jupyter Notebook

Version control

Git: git-scm. We use GitHub heavily, which relies on Git.

Language Guidelines

Markdown

  • General standard

  • GitHub standard This integreates with many of GitHub's services. Use this if you're writing for github.

  • R Markdown (home page) Tool to integrate writing professional papers with R code.

LaTeX: ShareLaTeX

  • Creating Projects on sharelatex

    1. Get the laboratory's log in credentials.
    2. Create the project from LABORATORY's account
      • This is important so many people can work on the same document.
    3. Then, give yourself and collaborators access from the lab's account
    4. When people leave the lab, remove their privileges.
  • Style: use 2 space tabs.

MATLAB

  • MATLAB Version 2017a
  • Psychtoolbox 3.0.14 “Standby FTL!”.

Python

  • If you are not using conda environments, installation instructions can be found here.
  • Testing pytest for small scripts; unittest for packages.
  • Style: pep8
    • autopep8 will automatically format your code to meet pep8 standard, wherever it is safe to do so.
    • pep8 tool will tell you where and what guidelines the code does not meet.
  • Virtual Environments: Conda Environments
  • Tabs vs. Soft tabs: use soft tabs (4 spaces).

Javascript

  • Anderson/Wai Keen/Terri, please weigh in here.

R

  • Wai Keen/Yue, please weigh in here.

Other

  • If the lab has not agreed on a style guideline for a language, you get to do the research and decide.
  • Browse Google style guides and look for your language of interest.
  • Search elsewhere for non-Google standards. Community accepted standards might be a lot different.
  • Weigh the pros and cons of each style and present the issue in a lab meeting.
  • Vote and decide.

Writing Papers

The lab works on papers together by writing them in ShareLaTeX.