Skip to content
Mateus Oliveira edited this page Sep 2, 2022 · 8 revisions

Welcome to the Python project template Wiki!

A template focused in Quality and Automation. It comes with two Command Line Interfaces (CLI) tools:

  • Docky to run less and shorter Docker and Docker Compose commands. Docky CLI help
  • Development scripts (using CLY?!) to run less and shorter development related commands. Development scripts CLI help

Motivation

Before I started working with software development, I had already seen some important aspects of the area during my graduation in Mathematics, like Clean Code. But when I started as a software developer, two points called my attention: Quality and Automation. And that is the main goal of this template, to produce an environment as automated as possible for the developers and enforce the code quality of the Python project.

Automation

Automation is a technique to reduce human intervention in processes.

Automation biggest advantage is faster processes. But the idea behind the template's automation is to improve the productivity of the developers. Everything that can be done by a script, is done by so. This lets the developers work on what they really like. And most important, let them focus on quality aspects a script could not. People are the best way to assure the quality of a project.

This means that the more people use a project, the more quality it will have. In other words, when possible, letting your project open for the public, will make it better.

Docker

Through Docker, a new contributor to the project can start developing with just one command and having only Docker and Docker Compose installed. This facilitates the integration of new developers to the project, by letting them fully run the project without needing to install new softwares in their machines.

Quality

Software quality assurance is a formal process for evaluating and documenting the quality of the work products during each stage of the software development lifecycle. The practice of applying software metrics to operational factors and to maintain factors is a complex task. Successful software quality assurance is highly dependent on software metrics.

Lee, Ming-Chang. "Software quality factors and software quality metrics to enhance software quality assurance." British Journal of Applied Science & Technology 4.21 (2014).

How to measure?

In episode 15 of season 5 of The Office series, the character Andy Bernard finds out it is difficult to be movie critic, and starts to think on other possibilities, like a food critic.

Andy from The Office

In the movies, food, or software areas, there are a lot of ways to assure the quality of the product, and they are not easy (sorry Andy). Of course there aspects that cannot be measured by a script, but those that can, it is important to understand how. The template's CI enforces several quality aspects that can be measured (focusing in the Python code, but the idea can be applied to other languages).

Editing

To clone this Wiki locally, run

git clone git@github.com:mateusoliveira43/python-project-template.wiki.git
Clone this wiki locally