Handboek effectiever programmeren in C#

Handboek effectiever programmeren in C#

Verbeter je kennis van C# met 50 adviezen - bijgewerkt voor C# 7.0

Uitvoering
Boek, 304 pagina's
Auteur
ISBN
9789463560412
Gepubliceerd
2018
Serie
€ 34,99

Handig om te weten: van dit boek is een webversie beschikbaar. Als u zich registreert, krijgt u gratis toegang, plus relevante extra’s.

In het Handboek Effectiever programmeren in C# identificeert en belicht de internationale .NET-specialist Bill Wagner 50 gemiddeld-tot-geavanceerde technieken om robuuste en goedwerkende C# 7.0-code te schrijven. Met de groeiende verfijning van de C#-taal en haar ontwikkelaarsgemeenschap in het achterhoofd presenteert Wagner krachtige nieuwe oplossingen voor problemen waar u dagelijks tegenaan kunt lopen.

De duidelijke uitleg van Wagner in zijn eerdere boeken over C#, plus zijn experttips en realistische codevoorbeelden zijn onmisbaar gebleken voor honderdduizenden ontwikkelaars. In deze uitgave wordt daar op voortgeborduurd aan de hand van duidelijke uitleg, vele tips en zinvolle voorbeelden voor moderne C#-programma's. Dit boek is daarbij geactualiseerd voor de nieuwe functies van C# 7.0, opdat u vertrouwde taken efficiënter en effectiever kunt uitvoeren.

Op basis van zijn rijke C#-ervaring en voortrekkersrol in vele internationale C#-stuurgroepen gaat Wagner in op objectgeoriënteerde, functionele en servicegeoriënteerde aanpak van het beheer van gegevens in C#, betere manieren om uw ideeën op gebruikers en andere programmeurs over te brengen en nieuwe mogelijkheden om krachtige asynchrone en dynamische programmeertechnieken in te zetten.

De 50 adviezen zijn verdeeld over zes hoofdstukken, in de volgende categorieën:

  • Werken met gegevenstypen
  • API-ontwerp
  • Taakgericht asynchroon programmeren
  • Parallelle verwerking
  • Dynamisch programmeren
  • Deelnemen aan de C#-community

Als u al een succesvol C#-programmeur bent, dan wordt u met dit boek een uitstekend programmeur!

Downloadbare bestanden

Handboek effectiever programmeren in C#

1
Werken met gegevenstypen
Advies 1: Gebruik eigenschappen in plaats van toegankelijke data members
Advies 2: Kies impliciete eigenschappen boven variabele data
Advies 3: Kies voor constante value-typen
Advies 4: Onderscheid maken tussen value-typen en reference-typen
Advies 5: Zorg ervoor dat 0 een geldige status voor value-typen is
Advies 6: Zorg ervoor dat de eigenschappen zich gedragen zoals gegevens
Advies 7: Beperk het bereik van een type met tuples
Advies 8: Definieer lokale functies op anonieme typen
Advies 9: Begrijp de relaties tussen de vele verschillende begrippen van gelijkheid
Advies 10: Begrijp de valkuilen van GetHashCode ()
2
API-ontwerp
Advies 11: Vermijd conversieoperatoren in uw API’s
Advies 12: Gebruik optionele parameters om overloading van methoden te minimaliseren
Advies 13: Beperk de zichtbaarheid van uw typen
Advies 14: Geef de voorkeur aan het definiëren en implementeren van interfaces boven overerving
Advies 15: Begrijp hoe interfacemethoden verschillen van virtuele methoden
Advies 16: Implementeer het eventmodel voor meldingen
Advies 17: Vermijd het retourneren van verwijzingen naar interne klassenobjecten
Advies 18: Kies overschrijvingen boven eventhandlers
Advies 19: Overload geen methoden die zijn gedefinieerd in basisklassen
Advies 20: Begrijp hoe events meer runtimekoppelingen tussen objecten genereren
Advies 21: Declareer alleen nonvirtual events
Advies 22: Maak methodegroepen die duidelijk, minimaal en volledig zijn
Advies 23: Geef deelklassen deelmethoden voor constructors, mutators en eventhandlers
Advies 24: Vermijd ICloneable omdat het uw ontwerpkeuzen beperkt
Advies 25: Beperk arrayparameters tot params-arrays
Advies 26: Schakel directe foutrapportage in bij iterators en asyncmethoden met behulp van lokale functies
3
Taakgericht asynchroon programmeren
Advies 27: Gebruik async-methoden voor asynchroon werk
Advies 28: Schrijf nooit async void-methoden
Advies 29: Vermijd het samenstellen van synchrone en asynchrone methoden
Advies 30: Gebruik async-methoden om threadtoewijzingen en contextwisselingen te vermijden
Advies 31: Vermijd het onnodig ordenen van context
Advies 32: Asynchroon werk samenstellen met Task-objecten
Advies 33: Overweeg de implementatie van het taakannuleringsprotocol
Advies 34: Cache gegeneraliseerde async returntypen
4
Parallelle verwerking
Advies 35: Leer hoe PLINQ parallelle algoritmen implementeert
Advies 36: Construeer parallelle algoritmen met exceptions in het achterhoofd
Advies 37: Gebruik de threadpool in plaats van threads te maken
Advies 38: Gebruik BackgroundWorker voor cross-thread communicatie
Advies 39: Cross-thread aanroepen in XAML-omgevingen begrijpen
Advies 40: Gebruik lock() als uw eerste keuze voor synchronisatie
Advies 41: Gebruik het kleinst mogelijke bereik voor vergrendelhandles
Advies 42: Vermijd het aanroepen van onbekende code in vergrendelde secties
5
Dynamisch programmeren
Advies 43: Begrijp de voor- en nadelen van dynamisch typeren
Advies 44: Gebruik dynamisch typeren om te profiteren van het runtimetype van generic type parameters
Advies 45: Gebruik DynamicObject of IDynamicMetaObjectProvider voor gegevensgestuurde dynamische typen
Advies 46: Begrijp hoe u de Expression API gebruikt
Advies 47: Minimaliseer dynamische objecten in public API‘s
6
Deelnemen aan de C#-community
Advies 48: Zoek het beste antwoord, niet het populairste antwoord
Advies 49: Neem deel aan specs en code
Advies 50: Overweeg om werkwijzen met analysers te automatiseren
Index