{"product_id":"154805","title":"C plus efficace ","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jYDsmQBgW762nUekWo60ST5O5rZ7S.png?v=1765082020\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\n\n\u003cdiv style=\"width:95%\"\u003e\n\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e C# plus efficace \u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/72230776\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e Description \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eIntroduction au livre\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cdiv\u003e \u003cb\u003e50 nouvelles recommandations pour écrire un meilleur code (compatible C# 7.0)\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Le C# gagne en popularité à mesure que son champ de développement s'étend du développement traditionnel basé sur .NET au moteur de jeu Unity.\u003cbr\u003e De plus, la demande continue de croître car Zamarin peut prendre en charge diverses plateformes mobiles.\u003cbr\u003e Ce livre propose divers conseils et méthodes pratiques pour aider les développeurs de logiciels à utiliser C# plus efficacement.\u003cbr\u003e Il aborde notamment en détail 50 directives de développement supplémentaires qui n'étaient pas traitées dans l'ouvrage précédent, 『Effective C#』.\u003cbr\u003e \u003cbr\u003eL'auteur combine son expertise avec les recommandations de la communauté des développeurs pour proposer de nouvelles solutions performantes aux problèmes du quotidien.\u003cbr\u003e Après avoir lu ce livre, qui explique clairement les conseils d'experts et propose des exemples de code pratiques, vous serez capable d'effectuer même les tâches les plus familières de manière plus efficace et efficiente.\u003cbr\u003e\n\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cul\u003e\u003cli\u003e Vous pouvez consulter un aperçu du contenu du livre.\u003cbr\u003e \u003cspan\u003eAperçu\u003c\/span\u003e\n\n\u003c\/li\u003e\u003c\/ul\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eindice\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003eCHAPITRE 1_ Types de données\u003c\/b\u003e\u003cbr\u003e Point 1 : Utilisez les propriétés plutôt que les membres de données accessibles.\u003cbr\u003e Point 2_ Il est préférable d'utiliser des propriétés implicites pour les données mutables.\u003cbr\u003e Point 3_ Il est préférable que les types valeur soient immuables.\u003cbr\u003e Point 4_ Distinguer les types valeur et les types référence\u003cbr\u003e Point 5_ Concevoir des types de valeurs de sorte que 0 soit un état valide.\u003cbr\u003e Point 6_ Faire en sorte que les attributs se comportent comme des données  \u003cbr\u003ePoint 7_ Limiter la portée de l'utilisation des types à l'aide de tuples\u003cbr\u003e Point 8 : N’utilisez pas de types anonymes en dehors des fonctions.\u003cbr\u003e Point 9 : Comprendre les corrélations entre les différents concepts d'identité.\u003cbr\u003e Point 10 : Comprendre les risques liés à GetHashCode()\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 2_ Conception d'API\u003c\/b\u003e\u003cbr\u003e Point 11_ N'écrivez pas d'opérateurs de conversion dans les API.\u003cbr\u003e Point 12 : Minimiser la surcharge des méthodes en utilisant des paramètres optionnels.\u003cbr\u003e Point 13_ Limiter la visibilité des types\u003cbr\u003e Point 14 : Il est préférable de définir et d’implémenter des interfaces plutôt que de les hériter.\u003cbr\u003e Point 15_ Comprendre la différence entre les méthodes d'interface et les méthodes virtuelles.\u003cbr\u003e Point 16_ Implémenter le modèle d'événement pour la transmission d'état\u003cbr\u003e Point 17 : Ne pas renvoyer d'objets internes par référence.\u003cbr\u003e Point 18 : Utilisez la surcharge plutôt que les gestionnaires d’événements.\u003cbr\u003e Point 19 : Ne surchargez pas les méthodes définies dans la classe de base.  \u003cbr\u003ePoint 20_ Comprendre que les événements augmentent le couplage entre les objets lors de l'exécution.\u003cbr\u003e Point 21 : Ne déclarez pas les événements comme virtuels.\u003cbr\u003e Point 22 : Créer des groupes de méthodes clairs, concis et complets.\u003cbr\u003e Point 23 : Fournir des classes partielles et des méthodes pour les constructeurs, les mutateurs et les gestionnaires d'événements.\u003cbr\u003e Point 24 : Évitez d’utiliser ICloneable, qui limite les choix de conception.\u003cbr\u003e Point 25_ Seul le tableau params doit être utilisé pour les paramètres de type tableau.\u003cbr\u003e Point 26_ Signaler immédiatement les erreurs des itérateurs et des méthodes asynchrones à l'aide de fonctions locales.\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 3 : Programmation asynchrone par tâches\u003c\/b\u003e\u003cbr\u003e Point 27 : Utilisez des méthodes asynchrones pour les tâches asynchrones.\u003cbr\u003e Point 28_ Ne jamais écrire de méthodes void asynchrones\u003cbr\u003e Point 29 : N’utilisez pas simultanément des méthodes synchrones et asynchrones.\u003cbr\u003e Point 30 : Évitez la création de threads et les changements de contexte en utilisant des méthodes asynchrones.  \u003cbr\u003ePoint 31 : Évitez de surcharger le contexte inutilement.\u003cbr\u003e Élément 32_ Composer des tâches asynchrones à l'aide d'objets de tâche.\u003cbr\u003e Point 33 : Envisager la mise en œuvre d’un protocole d’annulation des tâches.\u003cbr\u003e Point 34_ Utilisez ValueTask lors de la mise en cache de la valeur de retour d'une méthode asynchrone.\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 4 TRAITEMENT PARALLÈLE\u003c\/b\u003e\u003cbr\u003e Point 35 : Comprendre comment PLINQ implémente les algorithmes parallèles.\u003cbr\u003e Point 36 : Concevoir des algorithmes parallèles en tenant compte des exceptions.\u003cbr\u003e Point 37 : Ne créez pas de threads, utilisez un pool de threads.\u003cbr\u003e Point 38 : Utiliser BackgroundWorker pour la communication inter-threads.\u003cbr\u003e Point 39_ Comprendre les appels inter-threads dans l'environnement XAML\u003cbr\u003e Point 40_ Utilisez lock() comme priorité absolue pour la synchronisation.\u003cbr\u003e Point 41_ Appliquer les verrous à une plage aussi restreinte que possible.\u003cbr\u003e Point 42 : Évitez d'appeler un code externe dans les zones verrouillées.\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 5 PROGRAMMATION DYNAMIQUE\u003c\/b\u003e \u003cbr\u003ePoint 43 : Comprendre les avantages et les inconvénients de la typage dynamique\u003cbr\u003e Point 44 : Utilisez le typage dynamique pour tirer parti du type d’exécution des paramètres de type générique.\u003cbr\u003e Point 45 : Utilisez DynamicObject ou IDynamicMetaObjectProvider pour le typage dynamique piloté par les données.\u003cbr\u003e Article 46_ Apprenez à utiliser l'API d'expression\u003cbr\u003e Point 47_ Minimiser l'utilisation d'objets dynamiques dans les API publiques.\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 6 Rejoindre la communauté mondiale C#\u003c\/b\u003e\u003cbr\u003e Point 48 : Cherchez la meilleure réponse, pas la plus populaire.\u003cbr\u003e Point 49 : Contribuer à l'amélioration des spécifications et du code.\u003cbr\u003e Point 50 : Envisagez d’automatiser le traitement à l’aide d’analyseurs.\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eAvis de l'éditeur\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003e50 conseils utiles pour les développeurs C#\u003c\/b\u003e\u003cbr\u003e Ce livre est un ouvrage représentatif de la série, au même titre que le précédent ouvrage de l'auteur, Effective C#. \u003cbr\u003eL'auteur a beaucoup contribué à la communauté C#, mais la rédaction de ce livre est sans doute l'une de ses contributions les plus remarquables.\u003cbr\u003e La première édition de « Effective C# », publiée il y a plus de dix ans, a non seulement été une source d'inspiration majeure pour les développeurs C# aux États-Unis et dans le monde entier dès sa parution, mais s'est également imposée comme un ouvrage incontournable pour tous les développeurs, un guide pratique et avancé.\u003cbr\u003e Ce livre peut être considéré comme la deuxième partie de 『Effective C#』, et contient du contenu et des techniques d'utilisation avancées qui n'ont pas été abordés dans la partie 1.\u003cbr\u003e\u003cbr\u003e Ce livre va bien au-delà de la simple explication des caractéristiques système et d'implémentation des langages et des frameworks.\u003cbr\u003e Il aborde des sujets qu'on ne trouve pas facilement dans d'autres ouvrages, tels que les problèmes courants et leurs solutions rencontrés lors du développement avec C# sur le terrain, comment utiliser les nouvelles fonctionnalités et améliorations de C# aux bons endroits, et comment trouver la cause des problèmes et les résoudre.\u003cbr\u003e \u003cbr\u003eLe public cible principal est constitué de développeurs professionnels dont le langage de programmation principal est le C#.\u003cbr\u003e Il suppose que vous connaissez déjà la syntaxe et les fonctionnalités de C# et s'adresse aux lecteurs ayant une compréhension générale de C#.\u003cbr\u003e Par conséquent, il ne couvre pas les fonctions ou caractéristiques de base du langage C#.\u003cbr\u003e Il vous montre plutôt comment appliquer toutes les fonctionnalités que C# offre actuellement à des tâches concrètes.\u003cbr\u003e Il est supposé que vous avez une bonne compréhension des fonctionnalités de base du C#, ainsi que du Common Language Runtime (CLR) et du compilateur JIT.\u003cbr\u003e\u003cbr\u003e Contenu principal\u003cbr\u003e ● Chapitre 1_ Types de données\u003cbr\u003e ● Chapitre 2_ Conception d'API\u003cbr\u003e ● Chapitre 3 : Programmation asynchrone basée sur les tâches\u003cbr\u003e ● Chapitre 4_ Traitement parallèle\u003cbr\u003e ● Chapitre 5_ Programmation dynamique\u003cbr\u003e Chapitre 6 : Rejoindre la communauté mondiale C# \u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e SPÉCIFICATIONS DES PRODUITS \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eDate de publication :\u003c\/strong\u003e 6 mai 2019\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eNombre de pages, poids, dimensions :\u003c\/strong\u003e 300 pages | 183 × 235 × 20 mm\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN13 :\u003c\/strong\u003e 9791162240892\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN10 :\u003c\/strong\u003e 116224089X \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cspan\u003e\u003c\/span\u003e\n\n\u003c\/center\u003e\n\n\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893454340138,"sku":"154805","price":36.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/360a31829e0d0c28e270bc529c49ec14.jpg?v=1765402753","url":"https:\/\/librairie.coreenne.fr\/products\/154805","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}