انتقل إلى المحتوى الرئيسي

Code Style

Here, with this guide, we set the basis for our developers coding style.
Please read carefully and adhere to the principles below.

General

  • Indentation Style: Tabs
  • Tab Size: 4 spaces

Projects Content

Each project (specifically web-based) should follow certain directory structure. To avoid confusions, use the below naming conventions and structure where possible.

--- Project
--- --- assets /
--- --- --- images /
--- --- --- --- logo / (project logo and all its variants)
--- --- --- fonts /
--- --- --- css (including scss)
--- --- --- files (pdfs / profiles / brouchores ...etc.)
--- --- --- videos /
--- --- sitemap.xml (or compressed version)
--- --- humans.txt
--- --- robots.txt
--- --- favico.ico

Technology Selection

Methodology

Soft Delete

Whenever is possible, implement soft delete on the models, meaning, records are marked with deleted status rather than actually deleting the record. Prefarably, a deleted_at column should be part of the database tables.

images

Preferably, all images shall be in webp format or svg where applicable, the benefits in terms of page load time are huge, while the disadvantage of the webp format is sacrificing a few Mac Users (out of date Safaris).

Unnecessary new lines and spaces

in all programing languages that have braces do this

function subtract(number_1, number_2){
return number_2 - number_1;
}

not this

function subtract( number_1 , number_2 )
{
return number_2 - number_1;
}

use async/await instead of .then().then().then().catch().finally()

Light-mode / Dark-mode Favicons

Website Performance/Speed Score

Code optimization and readibilty

PHP

Laravel

  • Laravel Pint