当前位置:网站首页>Introduction à la méthode de conception et à la pratique

Introduction à la méthode de conception et à la pratique

2021-09-15 06:46:22 Baidu Developer Center

Le temps presse. , Apprendre sans arrêt .Le contenu d'aujourd'hui est《 Introduction à la méthode de conception et à la pratique 》, Nous suivrons les principes de conception de logiciels 、clean code、Tests unitaires、Les cinq aspects de la reconstruction et de la configuration de l'architecture.

Qu'est - ce que tu fais? , Apprends. ~

image.png

01 Principes de conception des logiciels

1、Objet de la conception du logiciel

Le logiciel est conçu de manière à pouvoir être facilement modifié à long terme.Nous interprétons cette phrase à partir des trois points suivants.

(1)Changement: Le logiciel n'est pas statique , Que ce soit les besoins du logiciel lui - même 、Les autres ressources logicielles dont dépend le logiciel changent constamment,La seule constante est le changement..

(2)Facile.:Tout changement de logiciel nécessite un coût,Réduire au minimum le coût du changement,Permet au logiciel de s'adapter facilement aux changements du logiciel.

(3)Long terme:En fait, les logiciels qui nécessitent une maintenance à long terme devraient être bien conçus,Parce que le logiciel a beaucoup changé à long terme, Difficulté à prévoir à l'avance ,Une bonne conception logicielle est nécessaire pour.

2、Principes de conception des logiciels

image.png

Il y a beaucoup de principes dans la conception de logiciels,Le principe de base est une haute cohésion et un faible couplage,C'est aussi l'objectif suprême poursuivi par la conception de logiciels.La cohésion est la mesure dans laquelle les éléments d'un logiciel sont liés entre eux.La Haute cohésion cherche à rassembler des éléments étroitement liés.Un faible couplage signifie qu'il y a le moins de corrélation possible entre les unités,Dépendance.

Il y a beaucoup d'autres principes sur la haute cohésion et le faible couplage:Par exemple:SOLIDPrincipes、 Conception simple 、 Conception orthogonale ,Il y aura aussi des modèles de conception comme principes de conception de logiciels au plus haut niveau.

02 clean code

1、clean codeLe concept de

clean code Le chinois est interprété comme un code propre ,Signifie que le code écrit peut être lu par d'autres dans les plus brefs délais, Et le Code semble propre 、Logique claire、Bonne extensibilité.

2、Règles de désignation

La désignation dans le code doit suivre plusieurs règles:

(1) Exprimer ce que c'est , Ne dis pas quoi faire. .

(2) Le code doit être auto - annoté .

(3) Utiliser des variables itératives circulaires significatives.

(4) Éviter les abréviations, En particulier pinyin abréviation .

(5) N'utilisez pas d'abréviations non conventionnelles.

(6) Évitez les nombres magiques .

(7) N'ayez pas peur des noms de variables longues .

3、Notes

Les commentaires sont essentiels au Code.En général, Un bon commentaire contient :Informations sur les droits d'auteur,Intention de conception, Messages d'avertissement .

Les mauvaises notes ont une ou plusieurs des caractéristiques suivantes: Tautologie 、 Relations relationnelles obscures 、 Appliquer le modèle 、Fournit un historique des modifications et des codes annotés.

4、Fonctions

Lors de l'écriture d'une fonction ,Il convient de noter que, Chaque fonction ne fait qu'une chose ,Chaque fonction a une responsabilité unique.

La fonction est divisée en fonction squelettique et fonction Step.

→ Les fonctions squelettiques sont la logique opérationnelle et les algorithmes sont des descriptions abstraites de haut niveau.

→Les fonctions Step sont quelques détails de mise en œuvre de la logique et de l'algorithme d'entreprise, C'est caché. .

5、Détails du codage

En termes de détails de codage , Les règles suivantes s'appliquent: :

(1) Utiliser l'ordre de comparaison naturel .

(2) Simplifier la hiérarchie logique , Éviter la nidification multicouche .

(3)Évitez les logiques compliquées et les conditions trop longues lors de l'écriture d'expressions TERNAIRES.

(4) Champ d'application de la variable de contrôle requise ,C'est - à - dire réduire la portée de la variable,Plus petit, mieux c'est..

03 Tests unitaires

1、 Pourquoi effectuer des tests unitaires

Les tests sont divisés en différents niveaux : Le niveau le plus bas est le test de l'unit é , Le milieu est basé sur le niveau du module 、 Essais au niveau des composants ,Plus haut, les tests au niveau du système.

Tests au niveau inférieur , Plus les problèmes sont rapidement détectés . Meilleure intégration des tests sous - jacents ,Capable de modifier le Code en toute sécurité.Les tests de la couche supérieure sont généralement lents à obtenir des commentaires, Le processus d'essai est également lourd .

Donc les tests unitaires ont des problèmes de détection plus tôt, Plus facile à intégrer ,Avantages d'une modification plus sûre du Code.

2、 L'importance de bien écrire les tests unitaires

Ce n'est pas facile d'écrire un test d'Unit é, Ça prend beaucoup de temps. .

image.png

Voir le schéma ci - dessus :xLe coût des essais unitaires est indiqué au - dessus de l'axe, Dans le processus de développement réel ,Le coût de l'écriture des tests unitaires n'est même pas inférieur au coût de l'écriture du Code..L'avantage des tests unitaires est qu'ils peuvent réduire les coûts de développement du produit

De bons tests unitaires peuvent réduire les coûts de développement des produits.Si les tests unitaires ne sont pas bien écrits,Non seulement cela augmente le coût du développement du produit,Et augmente le coût des tests unitaires.

3、 Principe et mode d'essai de l'unit é

Les tests unitaires ont de nombreux principes et modèles,Ce cours met l'accent sur quatre principes.

Premier principe :Tests As Documentation
Travailler avec le test comme document,C'est - à - dire que nous devons écrire les tests aussi concis que la documentation, Par quelques descriptions ,Le rôle de ce test peut être clairement compris. Lorsque le projet est modifié ultérieurement ,Il suffit de regarder les tests unitaires.
Deuxième principe:Fully Automated and Self-Checking
Les tests unitaires sont tous auto - vérifiés、 Auto - étalonnage , Par l'écriture du Code , Savoir si le test a réussi , Pas besoin de jugement artificiel .
Troisième principe :Do No Harm, Non destructif .
Certains développeurs testent, Pour atteindre cet objectif ,Crée une logique basée sur le Code de test, C'est une erreur. .Vous ne pouvez pas créer une logique spéciale pour un test seul lors de l'écriture d'un test,Et ne peut pas briser la logique du code original.
Quatrième principe :Keep tests as simple as possible,Simplicité.
Les tests unitaires sont utilisés pour s'assurer que le Code est correct,Mais le test unitaire est aussi un code,Pour éviter de surcharger le Code d'essai,Pour écrire le Code du test d'Unit é aussi simple que possible, S'assurer qu'il n'y a pas d'erreur .

04 Refactoring

Certaines règles doivent être respectées lors du remaniement.

1、 Orientation commerciale

Le Refactoring doit résoudre des problèmes commerciaux réels, Au lieu de refactor defactor .

2、Petit pas, cours.

En général, le remaniement exige la participation simultanée de plusieurs personnes.,Les développeurs comparent le tronc à la branche à tout moment pendant le remaniement.Quand un développeur a fait beaucoup de changements sur la branche et est prêt à la fusionner dans le tronc,Il est possible qu'il y ait une grande différence entre le Code du tronc et celui de la branche. Donc, lors du remaniement, ,Pour diviser le problème en plusieurs petites unités à modifier,Et une fusion de branche pour chaque modification.Ce mode petit pas rapide synchronise le Code sur le tronc à tout moment, Réduire le risque d'erreur .

3、 Conception évolutive

Avant le remaniement du Code ,Il est impossible de savoir quel sera le résultat final du remaniement.Pour garantir un meilleur résultat,Nous adoptons une approche évolutive de la conception.Suivre le processus de reconstruction, y compris une forte cohésion et un faible couplage、 Principes de conception orthogonale 、SOLID Principes et autres principes de conception de logiciels ,Constamment reconstruit avec des petits pas rapides,Ce n'est qu'ainsi que les résultats seront satisfaisants.

4、 Principes de conception orthogonale

Les principes de conception orthogonale comprennent: :Séparer les préoccupations、Élimination des doubles emplois、 Réduire la dépendance 、 Dépendance à la stabilité .

Dans le Code, Selon la fonction ,Divisez - les en différentes directions de changement.Chaque changement d'orientation est une responsabilité,Nous appelons chaque direction de changement différente une préoccupation,Le traitement correspondant est effectué en fonction de sa direction de changement.

05 Architecture configurée

1、 Le schéma configuré est défini comme suit: :

Méthode de construction du logiciel de manière configurable.Il est basé sur la modélisation de domaine, Représenter l'entreprise par configuration , Pour configurer les éléments du schéma organisationnel , Comme les services 、Components、Données, etc., Et normaliser la configuration 、 Gestion automatisée .

La raison pour laquelle cette définition est faite , Pour les raisons suivantes: :
①En général, la configuration fait référence à l'abstraction des données, Description du schéma requise ;
②La configuration décrite sur le schéma fait référence à l'abstraction des éléments du schéma, Description configuration incomplète ;
③La configuration comprend l'abstraction de l'entreprise, Surtout la logique. ;
④La configuration comprend également la gestion de la configuration et des branches.

2、 Comment appliquer un schéma configuré

L'architecture de configuration de l'application comprend trois aspects: Transformation opérationnelle ,Améliorer l'efficacité du développement de la configuration elle - même, Réduire les coûts de maintenance de la configuration .

(1) Transformation de la configuration des entreprises

① Configuration des composants

La représentation configurée des composants est un élément très important au niveau opérationnel,Component est une unit é de publication de mise à niveau autonome,Ces unités sont associées à de nombreuses configurations, Ces configurations peuvent être divisées en deux catégories .Une classe est la configuration à l'intérieur d'un composant,L'autre est la configuration qui décrit la relation entre les composants et les composants.Il ne suffit pas que les composants soient configurés, Il faut souvent construire DSLPour aider.

②ConstruireDSL:

DSLEst la langue créée par les ingénieurs pour différents domaines. Très ciblé ,Dans le domaine de l'expertise, il suffit parfois de changer un code assez long en une seule ligne de configuration.

(2) Améliorer l'efficacité du développement de la configuration

Grâce au système de diffusion continue ci - dessous,Peut améliorer l'efficacité du développement de la configuration. Il n'est destiné qu'à la configuration , Peut être configuré indépendamment pour la publication .Dans le système: La logique d'édition frontale doit être configurée , Logique de vérification de l'arrière - plan , Lorsque le stockage change , Ligne d'essai de déclenchement , Lorsqu'il n'y a pas d'anomalie dans la ligne d'essai , Pour emprunter des outils déployés , Distribuer la configuration en ligne .

(3) Réduire les coûts de maintenance de la configuration

En général,, Un grand nombre de codes , Il y aura beaucoup de configurations ..Une telle configuration coûte cher à entretenir. Donc, lors de la conception de la configuration, , Pour respecter ces règles :

① Permettre à la configuration de se déployer autant que possible 、Version des données、Description des attributs et de l'architecture de l'entreprise ces quatre dimensions différentes peuvent être partagées.Séparer la configuration déployée de la configuration de la politique.

② Syntaxe pour la configuration elle - même , Activer la configuration pour la fusion .

③ Réduire les lettres redondantes .

④ Éliminer le dédoublement de l'information .

⑤ Utiliser les valeurs par défaut configurées .

La connaissance d'aujourd'hui est terminée ici,Cliquez sur Entrée pour plus d'informations techniques~~

版权声明
本文为[Baidu Developer Center]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/09/20210914165814429e.html

随机推荐