L'importance de la lisibilité du code est souvent sous-estimée, en particulier lors de la programmation dans un environnement mettant l'accent sur l'interface utilisateur et l'expérience utilisateur. S'il est vrai qu'il est extrêmement important de créer une bonne application, il est tout aussi important de pouvoir la modifier à l'avenir. Avec un code illisible, il peut être beaucoup plus difficile de résoudre les bugs, avec des heures innombrables à chercher la bonne ligne de code et à comprendre son fonctionnement..
N'importe quel imbécile peut écrire du code qu'un ordinateur peut comprendre. Les bons programmeurs écrivent du code que les humains peuvent comprendre. - Martin Fowler
Dans cet esprit, commençons et apprenons quelques façons de rendre votre code plus lisible pour vous-même et pour les autres personnes qui pourraient avoir besoin de le modifier ultérieurement..
Cela peut sembler une méthode évidente de rendre le code plus lisible, mais il est souvent négligé. Si vous écrivez du code Swift, il est probable que vous utilisiez Xcode en tant que compilateur. De manière pratique, il s'avère que Xcode est doté de fonctionnalités qui aident à rendre votre code plus lisible..
Le type de commentaire le plus largement utilisé est un commentaire d'une seule ligne. Nous sommes nombreux à utiliser les deux barres obliques situées devant une ligne pour que le compilateur l'ignore, mais n'oubliez pas à quel point c'est utile pour documenter votre code.!
En guise de rappel, voici comment faire un commentaire traditionnel d'une seule ligne:
// calcule la note moyenne let moyenne = (note A + note B + note C) / 3,0
Par convention, le commentaire est au-dessus de la ligne qu'il explique plus en détail. Essayez d’utiliser vos commentaires pour ajouter des explications ou un aperçu de votre code, au-delà de la simple description de la ligne. Par exemple, le commentaire suivant pour le code ci-dessus n'est pas utile, car il n'ajoute pas d'explication supplémentaire au-delà de ce qui est immédiatement apparent..
// additionne les notes et divise par 3
Vous avez peut-être utilisé Commande-Cliquez pour obtenir plus d'informations sur une variable, une classe ou une méthode particulière, mais saviez-vous que vous pouvez ajouter des informations de ce type à votre propre code? Vous pouvez! Pour ce faire, utilisez une syntaxe spéciale pour les commentaires sur une seule ligne, comme suit: trois barres obliques, suivies d'un espace et d'un tiret. Ajoutez ensuite le nom de l'attribut (par exemple, "paramètre"), puis enfin tapez le mot, puis sa définition..
Voici un exemple de syntaxe de commentaire d'aide rapide:
/// - paramètre foobar: définition de foo func foobar ()
Lorsque vous Commande-clic la foobar
fonctionner partout où il est utilisé, vous verrez sa définition indiquée sous paramètres.
Un type de commentaire moins largement utilisé est un commentaire de bloc. Ces commentaires sont généralement utilisés pour placer les informations de licence et de copyright en haut du fichier, mais ils peuvent également être utilisés si vous avez besoin d'écrire plusieurs lignes pour expliquer votre code (bien que ce soit une bonne règle générale: expliquez votre code, il n'est probablement pas assez lisible).
Pour faire un commentaire de bloc, commencez par une barre oblique, un astérisque, puis votre code. Une fois que vous êtes prêt à mettre fin au commentaire, vous pouvez simplement placer un astérisque, puis une autre barre oblique..
En voici un exemple:
/ * Copyright (c) 2018, Vardhan Agrawal Tous droits réservés. * /
Pour revenir à la documentation d'aide rapide, les commentaires de bloc constituent le moyen approprié de créer une documentation complète de votre code dans Xcode. Pour ceux-ci, utilisez simplement deux astérisques pour commencer et terminer comme vous le feriez pour un commentaire de bloc normal avec un seul astérisque. Vous pouvez même utiliser la syntaxe de démarquage pour formater votre commentaire et le rendre plus lisible..
Voici comment vous documentez du code:
/ ** Cette fonction renvoie une liste de valeurs aléatoires. ** Paramètres: ** - foo: un peu de hasard. - bar: un tas plus de hasard. * /
Commencez à ajouter de bons commentaires à votre code et vous serez sur le point d'écrire du code lisible..
Vous en avez peut-être souvent entendu parler, mais le code doit pouvoir lire comme l’anglais. En fait, l'ordinateur ne s'intéresse guère à son apparence pour les humains, mais l'un des signes d'un bon programmeur est de savoir à quel point ils peuvent exprimer leur code de manière à être aussi lisible que possible..
Dans Swift, il est préférable de nommer les éléments en fonction du rôle joué par l'objet dans le code. Par exemple, au lieu d’utiliser simplement le nom Pomme
pour une variable de type Pomme
, si la pomme sert de nourriture à un animal, elle pourrait être nommée aliments
au lieu.
Il peut parfois être tentant d'attribuer de nombreuses responsabilités à un objet supposé spécialisé, ce qui peut rendre votre application moins modulaire et plus source de confusion pour quiconque lit le code. Nommer vos objets en fonction de ce qu’ils font peut vous aider à vous rappeler de ne donner des rôles qu’aux objets dont ils sont responsables..
Les noms des… propriétés, variables et constantes doivent se lire comme des noms. - Pomme
Cette règle générale a du sens en raison du rôle que ces types jouent dans une application sont généralement représentables par des noms. Voici quelques exemples:
var scoreCounter
pour une variable d'état de jeu SpriteKit.laisser sharedInstance
pour un singleton.Les utilisations des méthodes et propriétés booléennes doivent être lues comme des assertions à propos du destinataire. - Pomme
En disant que les booléens "devraient être des affirmations sur le destinataire", nous voulons simplement dire qu'il devrait s'agir de déclarations oui ou non. Regardons quelques exemples:
var isEmpty
pour un tableau.laissez touchEdge
pour un sprite de jeu.Les protocoles qui décrivent ce que quelque chose est devrait se lire comme des noms. - Pomme
Si vous utilisez des protocoles pour créer un type "modèle", vous devez utiliser le même nom que celui que vous utiliseriez pour les variables et les constantes. Cela a également du sens car vous nommez le type des méthodes, des classes, etc. Voici quelques exemples:
protocole de fruits
pour différents types de classes de fruits.protocoles protocolaires
pour les tableaux, les listes et plus encore.Les protocoles décrivant une capacité doivent être nommés en utilisant les suffixes: capable, ible ou ing. - Pomme
Si vos protocoles définissent ce qu'un type est capable de faire, vous devez le nommer avec les suffixes ci-dessus. Cela devrait être lu comme si le protocole était "capable" de faire quelque chose. Voici une autre liste d'exemples:
protocole retournable
pour les types qui peuvent être retournés.protocole ProgressReporting
pour les types qui signalent l'avancement.Outre ces conventions de dénomination, Apple vous recommande également d'éviter ce qu'ils appellent des "termes de l'art" ou, en d'autres termes, des termes qui peuvent ne pas être facilement compréhensibles. Ils ne disent pas de les éviter complètement, mais ne les utilisent pas quand un mot de base suffira à la place.
Dans les applications de production, les développeurs utilisent des modèles de conception pour structurer leur code de manière à ce qu'il puisse être modifié et soit plus lisible. Discutons de quelques modèles de conception que vous pouvez utiliser dans votre prochaine application iOS..
Aussi cliché que cela puisse paraître, ceci constitue le fondement de la programmation de votre application. Disons que vous construisez une maison, la maison de vos rêves. Cette maison a cinq étages, donc si vous ne construisez pas une base solide et ne suivez pas les plans, elle s'effondrera probablement. Le fondement d'une application iOS est le ou les modèles de conception que vous choisissez. Regardons deux des modèles les plus couramment utilisés.
Le modèle de conception Model-View-Controller ou MVC est une norme industrielle. Il sépare chaque partie de votre code en trois parties: le modèle, la vue et le contrôleur..
Il y a beaucoup de variations de ceci, telles que MVVM et MVP. Il vaut la peine de les lire,mais le principe est similaire à MVC. Pour en savoir plus sur MVC et MVVM, consultez ces articles de Bart Jacobs ici sur Envato Tuts+.
Quel que soit votre choix, ils sont tous appelés modèles de conception et rendent notre code plus modulaire. Regardons un autre modèle qui peut compléter le modèle d'application que vous choisissez d'utiliser.
Un singleton est une instance unique d'une classe présente à tout moment en mémoire. Alors, pourquoi nous en soucions-nous? Eh bien, disons que vous construisez une application qui se connecte à une base de données. Vous avez besoin d'un emplacement pour mettre toutes vos connexions de service de données. Ce serait un endroit parfait pour utiliser singletons.
Regardez le code ci-dessous, il vous montrera comment construire un singleton:
// Déclaration de classe DataService static var shared = DataService () func createUser () // Effectuer quelque chose // // Site d'appel DataService.shared.createUser ()
C'est si facile!
Si vous utilisez des modèles de conception, votre code sera beaucoup plus lisible, organisé et modulaire, ce qui vous permettra d'isoler les problèmes liés à votre application beaucoup plus facilement et de faire de gros changements avec un minimum de recâblage du code..
Pour apprendre plus de modèles de conception pour Swift, consultez notre cours complet.
Dans ce cours, vous apprendrez 21 modèles de conception différents. Vous en trouverez peut-être un qui transformera votre façon de coder!
Comme vous pouvez le constater, il n’est pas difficile de rendre votre code plus lisible et mieux organisé. Lorsque vous vous efforcerez de le faire, vous bénéficierez d'un code facile à modifier et qui facilitera la compréhension de votre code par les autres. Les employeurs recherchent ces informations, prenez donc l'habitude de les appliquer régulièrement.!
J'espère que vous avez apprécié ce tutoriel et que pendant votre séjour, consultez certains de nos autres tutoriels sur le développement d'applications Swift et iOS..