PhiSyX / cfoulatech

Exo.
0 stars 0 forks source link

Tracking Issue for Beginners #1

Open PhiSyX opened 1 month ago

PhiSyX commented 1 month ago

HTML / CSS

JavaScript

PHP

MySQL

PhiSyX commented 2 weeks ago

Résumé (Programmation, JS/PHP)

Il y a plusieurs façons de créer du code, jusqu'à maintenant, on a vu trois manières de faire :

La première façon est la méthode impérative où l'idée c'est d'avoir une série d'instructions à exécuter dans un ordre précis.

Par exemple :

  1. La déclaration, l'initialisation de variables
let declaration; // <- une déclaration (valeur vide, undefined)

const MA_CONSTANTE = 42; // <- une constante, initialisée à un type entier.
let ma_string = "Salut à tous"; // <- Une variable, initialisée à un type string.

let mon_entier = MA_CONSTANTE; // <- Variable initialisé avec une autre variable ou constante.
let mon_tableau = [ 1, "Hello", []];
  1. L'affection de variables
ma_string = "Salut Mike"; // <- Attribue une nouvelle valeur post-déclaration/initialisation
mon_entier += 1; // <- Attribue une nouvelle valeur post-déclaration/initialisation
  1. L'appel de fonction
alert(ma_string);
  1. Les boucles
let valeur_booleene = true;
while (valeur_booleene) {
  ...
    valeur_booleene = false; // sort de la boucle, appelle implicite de break
  ...
}

for (let compteur = 0; compteur < 10; compteur++) {
  ...
}

for (let element of mon_tableau) {
  ...
}

Exemple entier :

const MA_CONSTANTE = 42;
let ma_string = "Salut à tous";
let mon_tableau = [ 1, "Hello", []];

console.log(ma_string);

if (MA_CONSTANTE === 42) {
  alert("Youyou");
}

for (let element of mon_tableau) {
  if (!(typeof element === "number" || typeof element === "string")) {
    break;
  }

  console.log(element);
}

Toutes les instructions vont être exécutées les unes à la suite des autres.

Ensuite, on a vu la méthode procédurale (ou semi-fonctionnelle) qui consiste à reproduire tout ce qu'on a déjà vu avec la méthode impérative, mais à l'intérieur de fonctions afin que le code soit plus clair à lire. Afin de ne pas dupliquer certaines parties de logiques, si jamais on doit exécuter ces fonctions à différent endroit du code, dans le but d'avoir un résultat le plus indépendant ou le plus générique en rapport aux arguments donnés.

function sonner_maison()
{
  // Du code impératif
  // Retour de donnée, optionnel, en fonction des besoins.
}

function acheter_produit(
  magasin,
  caissier
  produit,
  argent,
)
{
  // Du code impératif
  // Retour de donnée, optionnel, en fonction des besoins.
}

function saluer(
  prénom,
  nom = "",
)
{
  // Du code impératif
  // Retour de donnée, optionnel, en fonction des besoins.
}

sonner_maison();
acheter_produit("Delhaize", 17, "Coca Cola", 20.00);
saluer("Mike");
saluer("John", "Doe");

Ensuite, on a vu la méthode objet qui va consister à regrouper des variables et des fonctions liées à un objet. Dans un objet, on appelle une variable "propriété", et une fonction "méthode" par convention de nommage. Quand on y réfléchit et qu'on décompose bien les choses, les objets sont simplement un mixte de ce qu'on a avec la méthode impérative et la méthode procédurale.

class Utilisateur
{
  constructor(
    nom,
    prenom,
    age,
  )
  {
    this.nom = nom;
    this.prenom = prenom;
    this.age = age;
  }

  saluer()
  {
    // Du code impératif
    // Retour de donnée, optionnel, en fonction des besoins.
  }
}

let john_doe1 = {
  nom: "Doe",
  prenom: "John",
  age: 42,

  saluer()
  {
    // Du code impératif
    // Retour de donnée, optionnel, en fonction des besoins.
  }
};

john_doe1.saluer();

let john_doe2 = new Utilisateur("Doe", "John", 42);
john_doe2.saluer();