Un extrait de conférence avec un mentor dans le cadre du cours Codegym University. Inscrivez-vous au cours complet.


« Es-tu déjà là, Amigo ? Je sais que tu as déjà appris beaucoup de commandes Java. Tu as presque atteint mon niveau !

« C'est vrai, Diego ?

"Bien sûr que non, ha-ha. Vous avez encore beaucoup d'études et d'apprentissages à faire. Pourtant, vous en savez déjà assez pour écrire des programmes assez complexes. 10, 20, 30 lignes de code dans un programme n'est pas un très gros programme, droite?"

"Je suppose que tu as raison. Surtout si tu mets des accolades sur des lignes séparées."

"Mais un programme de plus de 100 lignes, maintenant c'est énorme. Même nous, les robots, avons du mal à comprendre un tel code. Qu'en pensez-vous, y a-t-il quelque chose que vous puissiez faire pour simplifier d'une manière ou d'une autre l'écriture et la lecture de programmes qui contiennent beaucoup de code ?

"Je l'espère sincèrement !"

"Vos espoirs ne sont pas vains. Il est possible de simplifier les programmes, et les méthodes sont là pour nous y aider. On les appelle parfois des fonctions .

"Des fonctions, des méthodes... Euh, qu'est-ce que c'est ?"

"En d'autres termes, une méthode est un groupe de commandes qui a un nom unique . En d'autres termes, nous mettons simplement plusieurs commandes dans un groupe et lui donnons un nom unique. Et c'est tout - boum - nous avons une méthode. La plupart souvent, ces commandes sont regroupées selon une logique afin de résoudre une petite tâche spécifique. Par exemple, "une méthode pour imprimer des lignes à partir d'un fichier". Ou "une méthode pour élever un nombre à un exposant".

« Alors, nous avons divisé le programme en méthodes ? »

"Oui, et cela simplifie le code.

Exemple:

Sans méthode Avec une méthode
class Solution
{
   public static void main(String[] args)
   {
     System.out.print("Wi-");
     System.out.println("Fi");
     System.out.print("Wi-");
     System.out.println("Fi");

     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void main(String[] args)
   {
     printWiFi();
     printWiFi();
     printWiFi();
   }
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}

"Dans le programme de la colonne de gauche, nous répétons le même code trois fois - nous l'avons fait intentionnellement pour illustrer un point. Mais dans le programme de droite, nous avons déplacé le code répété dans une méthode distincte et lui avons donné un nom unique - printWiFi.

Et au lieu du code déplacé, nous appelons la printWiFi()méthode 3 fois.

"Lorsque le programme dans la colonne de droite est exécuté, chaque fois que la printWiFi()méthode est exécutée, toutes les commandes à l'intérieur de la printWiFi()méthode sont exécutées. Nous venons de créer une nouvelle commande (méthode), combinant plusieurs commandes en un seul groupe.

"Tout code peut être divisé en méthodes distinctes. Ceci est fait pour simplifier les choses : l'idée est qu'il vaut mieux avoir plusieurs petites méthodes qu'une grande.

"C'est une excellente idée de diviser un programme en méthodes.

"Bientôt, vous vous rappellerez avec émerveillement comment vous aviez l'habitude d'écrire des programmes sans créer vos propres méthodes."

"Je suis prêt à écouter et à essayer d'écrire des méthodes ! Dites-moi simplement comment faire."

Déclarer une méthode en Java

"Comment déclarer la méthode la plus simple ? Voici comment procéder :

public static void name()
{
  method body
}

nameest le nom unique de la méthode et method bodyreprésente les commandes qui composent la méthode. La signification des mots public, static, et voidsera discutée plus tard.

"Après avoir créé une méthode, nous pouvons l'appeler dans nos autres méthodes. Un appel de méthode ressemble à ceci :

name();

"Où nameest le nom unique de la méthode que nous voulons appeler, c'est-à-dire la méthode dont nous voulons exécuter les commandes lorsque nous arrivons à l'appel de méthode.

"Lorsque le programme atteint l'appel de méthode, il entre simplement dans la méthode, exécute toutes ses commandes, retourne à la méthode d'origine et continue l'exécution.

"Et maintenant, Amigo, regarde d'un œil nouveau les commandes que tu as déjà apprises. Par exemple, . Est-ce que quelque chose te vient à l'esprit concernant ce que c'est vraiment ?"System.out.println()

« Êtes-vous en train de dire que toutes ces commandes ne sont que des méthodes écrites par d'autres programmeurs ?

"Pas tous, mais beaucoup d'entre eux. Oui, exactement ! D'autres les ont écrits pour nous faciliter la vie."

"Alors public static void main(String[] args)c'est aussi une méthode... Maintenant ça a plus de sens !"

"Bien sûr, c'est le cas ! C'est de la programmation ! Il s'avère que la méthode principale - l'alpha et l'oméga du programme - peut contenir des appels à d'autres méthodes :

Code Note
class Solution
{
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}




On appelle la print10TimesWiFi()méthode


On déclare la print10TimesWiFiméthode


On appelle la printWiFi() méthode 10 dans une boucle


On déclare la printWiFiméthode

On affiche " Wi-Fi" à l'écran

Faits sur les méthodes

"J'ai mis de côté quelques faits utiles sur les méthodes pour vous. Ici, profitez :

Fait 1. Une méthode fait toujours partie d'une classe.

Une méthode ne peut être déclarée que dans une classe. Une méthode ne peut pas être déclarée à l'intérieur d'une autre méthode. Une méthode ne peut pas être déclarée en dehors d'une classe.

Fait 2. Le nom d'une méthode n'a pas de signification sacrée

Peu importe le nom des méthodes — cela n'affecte rien. La méthode principale est une méthode comme toutes les autres. C'est juste que ce nom a été choisi pour la méthode à partir de laquelle la machine Java lancera l'exécution du programme. Il n'y a rien de magique là-dedans. Cela dit, il est préférable de choisir des noms de méthodes qui expliquent au moins à quoi elles servent. J'en parlerai un peu plus tard.

Fait 3. L'ordre des méthodes dans une classe n'a pas d'importance

Vous pouvez écrire vos méthodes dans une classe dans n'importe quel ordre — cela n'affectera en rien l'exécution du programme. Exemple:

Code
class Solution
{
   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   public static void main(String[] args)
   {
     printWiFi10Times();
   }
}

Fait 4. Les variables à l'intérieur d'une méthode ne sont en aucun cas liées aux variables des autres méthodes

Ce qui se passe à Vegas reste à Vegas. Et les variables déclarées à l'intérieur d'une méthode restent à l'intérieur de la méthode.

Des variables portant le même nom peuvent être déclarées dans deux méthodes adjacentes, et ces variables ne sont en aucun cas liées les unes aux autres.

Noms de méthode

"Alors... j'ai promis de vous parler des noms de méthodes. On sait depuis longtemps que les deux problèmes les plus difficiles en programmation sont de choisir les bons noms pour les méthodes et de choisir les bons noms pour les variables."

"Je n'aurais jamais pensé que c'était si difficile !"

"Vous ne saviez tout simplement pas grand-chose sur le code vague des autres, où les variables et les méthodes ont des noms arbitraires. Essayez simplement de comprendre ce code. En fait, presque toute une science a émergé sur la façon de nommer correctement les méthodes. Et chaque langage de programmation a ses propres normes.

"En Java, il est d'usage de suivre ces principes :

Principe 1. Un nom de méthode doit décrire brièvement ce que fait la méthode.

Ensuite, un autre programmeur lisant votre code peut se fier au nom de la méthode pour deviner ce que fait le code. Il ou elle n'aura pas besoin de regarder le code des méthodes appelées à chaque fois. Et le but des méthodes est plus facile à retenir.

Par exemple, est utilisé pour 'mettre le programme en veille' et est utilisé pour 'lire l'entier suivant'. Pratique, hein ?Thread.sleep()Scanner.nextInt()

Principe 2. Un nom de méthode peut être composé de plusieurs mots.

Cependant, il existe plusieurs limitations lors de cette opération :

  • Vous ne pouvez pas avoir d'espaces dans un nom de méthode : tous les mots sont écrits ensemble.
  • Chaque mot est en majuscule, sauf le premier.
  • Un nom de méthode commence toujours par une lettre minuscule

Rappelez-vous la print10TimesWiFiméthode. Que signifie ce nom ? "Afficher le mot 'WiFi' 10 fois". Vous ne devez pas inclure beaucoup de mots dans le nom d'une méthode : le nom doit refléter son essence même.

Cette norme pour nommer les méthodes s'appelle CamelCase (les lettres majuscules sont comme les bosses d'un chameau).

Principe 3. Un nom de méthode commence par un verbe.

Une méthode fait toujours quelque chose, donc le premier mot d'un nom de méthode est toujours une action.

Voici quelques mauvais noms pour les méthodes : home, cat, car, train, ...;

Quelques bons noms sont : run, execute, print, read, write, ...

Principe 4. Un nom de méthode utilise uniquement des lettres et des chiffres latins.

Java a un excellent support pour différentes langues. Vous pouvez écrire les noms des variables, des méthodes et des classes aussi bien en russe qu'en chinois — tout fonctionnera !

Mais! Imaginez combien de temps vous auriez pour étudier Java, si la System.out.println()méthode était écrite en chinois ?

Bien plus longtemps que maintenant, non ? C'est le premier point.

Deuxièmement, de nombreuses équipes de développement de logiciels sont internationales. Un très grand nombre de bibliothèques Java sont utilisées par les programmeurs du monde entier.

Par conséquent, il est recommandé d'utiliser uniquement des lettres et des chiffres latins dans les noms de méthode.

Important:

Le nom d'une méthode doit commencer par une lettre (il ne peut pas commencer par un chiffre).

"Ce sont tous les principes de base qui régissent le nommage des méthodes en Java. La leçon est terminée maintenant. Allez résoudre les tâches !"

« Je cours déjà, Diego !


Un extrait de conférence avec un mentor dans le cadre du cours Codegym University. Inscrivez-vous au cours complet.