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