Skip to content
Muhammad Zeeshan Babar edited this page Oct 4, 2022 · 8 revisions

No more "no thanks, too busy". No more reinventing the wheel.

Table of Contents

Setup PC

A unified development environment in a group plays an important role as it reduces the risk of potential compatibility issues within software developed in the group. The version of the Python and anyother common softwares should be used in common by everyone.

⬆ back to top

Operating System (OS)

Use a single operating system, i.e. Windows or Linux to get no competability issues

⬆ back to top

Integrated Development Environment (IDE)

Visual Studio Code (VSCode) is recommended as it provides many intuitive and versatile features you need when writing clean code.

⬆ back to top

Terminal Emulator

If you are working with Ubuntu, Terminator is recommended to use as it supports splitting terminals that the default Ubuntu terminal application does not.

⬆ back to top

Version Control System (VCS)

In most of the groups working in collaboration on different projects, Git is used for VCS and Github is used to store developed code in the cloud.

Understanding Git branching strategy is necessary to collaborate with other members in a shared repository. The graph in 'A successful Git branching model' visually demonstrates a good branching model. Mostly, the following Git branching strategy is used.

master/main (for code to be released)
develop (for code that is currently developed)
feature (for a new feature to be added to the whole code)
hotfix (for fixing critical bugs in the released code)

Familiarize with Git usage by going through the following Git cheat sheet

Octotree, a powerful browser extension for Github code review and exploration, is recommended to install.

⬆ back to top

Style Guide

The following style guides are established for consistency in the code across the lab. Consider applying the suggested rules to your work for better collaboration and communication with lab members.

⬆ back to top

Code Review

TODO: It is good practice to do a code review within each working group (e.g., sending PRs to person directly working with your project).

⬆ back to top

Clone this wiki locally