Skip to content

Instantly share code, notes, and snippets.

View visiover's full-sized avatar

Maher Mhiri visiover

View GitHub Profile
@visiover
visiover / gitworkflow.md
Last active September 20, 2017 13:15
gitworkflow

Introduction

Multiple git workflow exists. Choosing the right git workflow depends on the type of project, the team size, the deployment frequency and the deployment environement.


Most used git workflows

  • Centralized workflow
  • Feature branch workflow
  • Forking workflow
@visiover
visiover / simver.md
Last active September 20, 2017 13:30
simVersion

A simple, pragmatic versioning convention.

In a sense, this is a subset of SemVer, but with slightly different semantics.

Series

An API has two series of releases: feature-complete, and feature-incomplete.

@visiover
visiover / how_to_pair_program.md
Last active December 23, 2021 12:58
How to pair program

How to pair program

Intro

Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator,[1] reviews each line of code as it is typed in. The two programmers switch roles frequently.

While reviewing, the observer also considers the "strategic" direction of the work, coming up with ideas for improvements and likely future problems to address. This frees the driver to focus all of their attention on the "tactical" aspects of completing the current task, using the observer as a safety net and guide.

@visiover
visiover / php_design_patterns.md
Created December 23, 2021 13:01
Php Design Patterns
@visiover
visiover / rest.md
Last active December 23, 2021 13:04
Restful Api best practises

REST (Representational State Transfer)

Is an architectural style founded by Roy Fielding He developed it in parallel with HTTP 1.1.

OpenApi

The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for REST APIs,

What Does RESTful API Mean?

@visiover
visiover / tdd.md
Created December 23, 2021 13:05
TDD

The Outrageous Cost of Skipping TDD & Code Reviews

TDD is the process of writing automated tests to ensure that code works before writing the implementation. You write a test, watch it fail (red), write the implementation, watch the test pass (green), and refactor if needed. Repeat the cycle as you build out the system.

The process has been studied in depth, and has proven itself to be very useful to increase the quality of software. But did you know that it also saves organizations a lot of time and money?

One of the primary reasons managers cite for waiting so long to implement TDD is the cost. It’s common for initial project build-outs to take up to 30% longer with TDD.

What those managers need to know is that TDD reduces production bug density 40% — 80%, and that makes all the difference. More bugs in production leads to a dramatic rise in maintenance costs.