Skip to content

Instantly share code, notes, and snippets.

View visiover's full-sized avatar

Maher Mhiri visiover

View GitHub Profile
@visiover
visiover / breaking_changes.md
Created December 23, 2021 13:40
How to handle breaking changes

Handling Breaking Changes in an API

What is a Breaking Change to an API

A breaking change to an API is any change that can break a client’s application.

We know an API has breaking changes when:

  • A key from the response JSON has been removed.
@visiover
visiover / pr_review.md
Last active December 23, 2021 13:40
The art of reviwin a pull request

The art of reviwing a pull request

First, let’s admit it: reviewing pull requests is really hard. As a reviewer, it’s your responsibility to make sure that the code is correct and of high quality before it gets merged

Code review is a very important part of the software development cycle. On Bitbucket and other source code management systems, pull requests are used to review code on branches before its gets merged. Code review is also one of the most difficult and time-consuming part of the software development process, often requiring experienced team members to spend time reading, thinking, evaluating, and responding to implementations of new features or systems.

It’s no surprise that endless “in review” columns in agile boards is one of the most common issues raised by software teams (including at Atlassian!) during sprint retrospectives.

@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.

@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 / php_design_patterns.md
Created December 23, 2021 13:01
Php Design Patterns
@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.