Refactorisation des nombres magiques et placement dans des constantes, et ajout de final là où pertinent

This commit is contained in:
Feror 2025-01-23 11:01:00 +01:00
parent 28efe6c3c0
commit 4d04c316a6
5 changed files with 36 additions and 31 deletions

BIN
carApp/.DS_Store vendored

Binary file not shown.

BIN
carApp/src/.DS_Store vendored

Binary file not shown.

View file

@ -1,13 +1,17 @@
public class Application { public class Application {
public static void main(String[] args) { private static final int AGE = 20;
private static final int INITIAL_SPEED = 80;
private static final int REDUCED_SPEED = 30;
public static void main(final String[] args) {
Voiture maVoiture = new Voiture("Sedan", "Bleu"); Voiture maVoiture = new Voiture("Sedan", "Bleu");
Conducteur moi = new Conducteur("John", 20); Conducteur moi = new Conducteur("John", AGE);
moi.demarrerVoiture(maVoiture); moi.demarrerVoiture(maVoiture);
maVoiture.accelerer(); maVoiture.accelerer();
moi.changerVitesse(maVoiture, 80); moi.changerVitesse(maVoiture, INITIAL_SPEED);
maVoiture.ralentir(); maVoiture.ralentir();
moi.changerVitesse(maVoiture,30); moi.changerVitesse(maVoiture, REDUCED_SPEED);
moi.arreterVoiture(maVoiture); moi.arreterVoiture(maVoiture);
System.out.println("fini"); System.out.println("fini");
} }

View file

@ -1,17 +1,18 @@
public class Conducteur { public class Conducteur {
private String nom; private static final int ADULT_AGE = 10;
private int age; private final String nom;
private final int age;
public Conducteur(String name, int years) { public Conducteur(final String name, final int years) {
this.nom = name; this.nom = name;
this.age = years; this.age = years;
} }
public boolean estAdulte() { public boolean estAdulte() {
return age >= 10; return age >= ADULT_AGE;
} }
public void demarrerVoiture(Voiture voiture) { public void demarrerVoiture(final Voiture voiture) {
if (estAdulte()) { if (estAdulte()) {
System.out.println(nom + " démarre la voiture."); System.out.println(nom + " démarre la voiture.");
} else { } else {
@ -19,13 +20,12 @@ public class Conducteur {
} }
} }
public void arreterVoiture(Voiture voiture) { public void arreterVoiture(final Voiture voiture) {
System.out.println(nom + " arrête la voiture."); System.out.println(nom + " arrête la voiture.");
} }
public void changerVitesse(Voiture voiture, int nouvelleVitesse) { public void changerVitesse(final Voiture voiture, final int nouvelleVitesse) {
System.out.println(nom + " change la vitesse de la voiture à " + nouvelleVitesse); System.out.println(nom + " change la vitesse de la voiture à " + nouvelleVitesse);
int vitesseActuelle;
if (voiture.getVitesse() >= nouvelleVitesse) { if (voiture.getVitesse() >= nouvelleVitesse) {
while (voiture.getVitesse() > nouvelleVitesse) { while (voiture.getVitesse() > nouvelleVitesse) {
voiture.ralentir(); voiture.ralentir();

View file

@ -1,9 +1,11 @@
public class Voiture { public class Voiture {
private String modele; private static final int MAX_SPEED = 120;
private String couleur; private static final int SPEED_INCREMENT = 10;
private final String modele;
private final String couleur;
private int vitesse; private int vitesse;
public Voiture(String model, String color) { public Voiture(final String model, final String color) {
this.modele = model; this.modele = model;
this.couleur = color; this.couleur = color;
this.vitesse = 0; this.vitesse = 0;
@ -14,27 +16,26 @@ public class Voiture {
} }
public void accelerer() { public void accelerer() {
if (vitesse + 10 <= 120) { if (vitesse + SPEED_INCREMENT <= MAX_SPEED) {
vitesse += 10; vitesse += SPEED_INCREMENT;
// afficher détails afficherDetails();
System.out.println("Modèle : " + modele);
System.out.println("Couleur : " + couleur);
System.out.println("Vitesse actuelle : " + vitesse);
} else { } else {
System.out.println("La vitesse maximale est atteinte."); System.out.println("La vitesse maximale est atteinte.");
} }
} }
public void ralentir() { public void ralentir() {
if (vitesse - 10 >= 0) { if (vitesse - SPEED_INCREMENT >= 0) {
vitesse -= 10; vitesse -= SPEED_INCREMENT;
// afficher détails afficherDetails();
System.out.println("Modèle : " + modele);
System.out.println("Couleur : " + couleur);
System.out.println("Vitesse actuelle : " + vitesse);
} else { } else {
System.out.println("La voiture est déjà à l'arrêt."); System.out.println("La voiture est déjà à l'arrêt.");
} }
} }
}
private void afficherDetails() {
System.out.println("Modèle : " + modele);
System.out.println("Couleur : " + couleur);
System.out.println("Vitesse actuelle : " + vitesse);
}
}