Empfohlene Downloads 12.03.2018, 00:00 Uhr

So muss der Code aussehen

Diese Tools sorgen für die Durchsetzung von Code-Richt­linien. Und: Toms Toolbox hilft bei vielen Alltagsaufgaben.
Das .NET Framework ist reichhaltig an Klassen und Methoden. Dennoch sind viele alltäglich benötigte Funktionen nicht direkt implementiert, sondern müssen aus verschiedenen Klassen zusammenprogrammiert werden.
Was liegt also näher, als sich eine Bibliothek solcher Alltagsfunktionen zusammenzustellen. Sie wollen gleich damit loslegen? Das ist zwar sehr löblich – aber Sie müssen gar nicht.  Denn Tom Englert hat das schon getan. In seiner Toolbox finden Sie gut dokumentiert Methoden, um beispiels­weise Attribute aus einem XML-Dokument zu holen, sicher auf nativen Speicher zuzugreifen oder einen Hintergrund-­Thread mit Dispatcher zu erzeugen.
Schwerpunkt
FxCop Regeln
Eine Sammlung von Code-Überprüfungsregeln unter Verwendung von FxCop.
https://github.com/DrShaffopolis/FxCop
CodeMaid
CodeMaid ist eine Open-Source-Erweiterung für Visual Studio zum Bereinigen und Vereinfachen von Code der Sprachen C#, C++, F#, VB, PHP, PowerShell, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript sowie TypeScript.
https://github.com/codecadwallader/codemaid
StyleCop
StyleCop analysiert C#-Quellcode, und erzwingt eine Sammlung von Style- sowie Konsistenzregeln. Es kann aus Visual Studio heraus ausgeführt oder in ein MSBuild-Projekt integriert werden.
https://github.com/StyleCop/StyleCop
CSharpCodingGuidelines
C# Coding Guidelines ist ein Analyzer Nuget Package für Visual Studio 2015. Sie wurden von Dennis Doomen aufgestellt.
https://github.com/SamirHafez/CSharpCodingGuidelines
DeveUnityScriptCSharpFormatter
Dieses Tool ersetzt alle Unity Template Skripts durch eine Version, die zu den C#-Code-Guidelines passt.
https://github.com/devedse/DeveUnityScriptCSharpFormatter
FluentTests
Dieses Repository enthält Codebeispiele, die einen Fluent-Interface-Style verwenden, um Tests zu schreiben.
https://github.com/schatekar/FluentTests
Awesome-Guidelines
Eine Liste Style-Konventionen und Standards für qualitativ hochwertigen Code.
https://github.com/Kristories/awesome-guidelines
Stylelint-Config-Infield
Diese Stylelint Konfiguration folgt den CSS Coding Guidelines von Infield Digital.
https://github.com/infielddigital/stylelint-config-infield
HTML-Table-Manipulation-With-Javascript
Mustercode und Guidelines zum Erstellen von dynamischen HTML-Tabellen mit Javascript.
https://github.com/surendias/HTML-Table-Manipulation-With-Javascript
Coding Styles
Coding Styles bezieht sich auf Konventionen und Guidelines zum Schreiben von Code.
https://github.com/adhumi/codingstyles.io
CSS-Coding-Standards
Work Clubs CSS Codierungsstandards und Guidelines für Frontend-Projekte
https://github.com/work-club/CSS-Coding-Standards
Style-Guide
Dieser Style Guide bietet Guidelines, Code sowie Best-Practices zum Implementieren einer konsistenten User-Schnittstelle über die AGL Open Application Suite.
https://github.com/PDXostc/style_guide
Angular-UI-Material-Template
Dieses Package hilft beim Erstellen von AngularJS-Code gemäß Angular Best Design Guidelines für ASP.NET MVC- oder WebAPI-Applikationen. Es enthält Angular UI Material JS-Bibliotheken sowie CSS.
https://www.nuget.org/packages/Angular-UI-Material-Template/
CSharpGuidelines
Eine Sammlung von Code Guidelines für C# 5.0, C# 6.0 sowie C# 7.0, Design-Prinzipien und Layout-Regeln zum Verbessern der gesamten Qualität Ihrer Codeentwicklung.
https://github.com/dennisdoomen/CSharpGuidelines
Aber damit nicht genug. Auch für die Oberflächengestaltung hält Toms Toolbox einiges bereit. So gibt es zum Beispiel ein DoubleClickPanel oder einen WaitCursor, der anzeigt, wenn die Anwendung beschäftigt ist. Zu Letzterem passt auch der LoadingIndicator, der – wenn aktiviert – eine rotierende Animation anzeigt.
WindowCommands sind Routed Commands für die Fenstersteuerung. Die Klasse stellt die Methoden Close, Maxi­mize, Minimize und Restore bereit.
Regeln für den Code
Den allermeisten Menschen fällt das Verstehen einer Fremdsprache leichter, als diese zu sprechen. Code ist wahrscheinlich die einzige Sprache auf der Welt, bei der das anders ist: Code lässt sich einfacher schreiben als lesen. Wer aber ein Programm verstehen will, der muss nicht nur jede Zeile lesen, sondern auch verstehen. Hierbei kann die durchgängige Art der Schreibweisen immens helfen. Klassische Beispiele sind Klammer auf hinter dem Methodennamen beziehungsweise in der Zeile da­runter oder die Einrücktiefe von zwei oder vier Tabulatorschritten. Die im Schwerpunkt zusammengestellten Programme helfen bei der Durchsetzung einheitlicher Code-Richtlinien.
InPlaceEdit gestattet das Ändern von Inhalten an der Stelle im Formular, an der sie angezeigt werden. Ein Doppelklick darauf oder ein Druck auf die Funktionstaste [F2] genügt, um das Control in den Editiermodus zu schalten. Alternativ lässt sich aber auch die Eigenschaft IsEditing auf true schalten, um das Editieren zu ermöglichen.
Toms Bibliothek bietet einen Button, der über ein DialogResult verfügt – etwas, das Windows Forms bislang zur Verfügung gestellt hat, die Windows Presentation Foundation hingegen nicht.
AgileMapper
Wann immer Daten von Objekten in andere Objekte kopiert werden sollen, entsteht ungeheure Tipparbeit. Denn für jede Eigenschaft muss eine Zuweisung geschrieben werden. Der Objekt-Objekt-Mapper AgileMapper nimmt einem diese Arbeit ab. Mit einer Zeile Code kann aus einem Objekt ein weiteres erzeugt werden, das mit den Werten des ersten gefüllt wird.

var customerDto =
  Mapper.Map(customer).ToANew<CustomerDto>();
Besonders hilfreich dürften auch die vielen Konverter sein, die sich in der Bibliothek finden. Hier gibt es beispielsweise DoubleToThicknessConverter, ColorNameToBrushConverter, EnumToBooleanConverter oder auch den universell einsetzbaren MultiValueConverter.
Aktuelle Downloads
WorkplaceX-Application-Framework
Framework zum Erstellen von Datenbankanwendungen basierend auf Angular 4 mit Server-seitigem Rendering, ASP.NET Core sowie MS-SQL.
https://github.com/WorkplaceX/Framework
AspDotnetCoreAsyncWebAPI
Dieses Projekt demonstriert grundlegende CRUD-Web-API-Operationen unter Verwendung von Async-Mustern in .NET Core 2.0. Diese Demo-Anwendung verwendet Async API von Entity Framework Core zum Persistieren der Daten.
https://github.com/abhishekgoenka/AspDotnetCoreAsyncWebAPI
TomsToolbox
Eine Sammlung von Kernfunktionen sowie Klassen für tägliche .NET-Entwicklunsaufgaben. Sie enthält viele Erweiterungsmethoden, ein WPF Composite MVVM Framework, Controls und vieles mehr.
https://github.com/tom-englert/TomsToolbox
Monodevelop
MonoDevelop ist eine voll ausgestattete integrierte Entwicklungsumgebung (IDE) für Mono unter Verwendung von Gtk#.
https://github.com/mono/monodevelop
Corefx
Dieses Repo enthält die .NET Core-Bibliotheken, CoreFX genannt. Enthalten sind Klassen für Collections, Dateisysteme, Console, XML, Async u.v.m.
https://github.com/dotnet/corefx
DVBViewerServerApiWrapper
Der DVBViewerServerApiWrapper ist eine Bibliothek, welche das webbasierte API in die .NET-Welt holt.
https://github.com/Siox0911/DVBViewerServerApiWrapper
Evolve
Evolve ist ein einfaches Migrationstool und verwendet alte SQL-Skripts. Ziel ist das Automatisieren Ihrer Datenbankveränderungen und die Synchronisation dieser Änderungen über all Ihre Umgebungen und Entwicklungsteams.
https://github.com/lecaillon/Evolve
UWPCommunityToolkit
Das UWP Community Toolkit ist eine Sammlung von Helper-Funktionen, benutzerdefinierten Controls, sowie Appdiensten. Es vereinfacht und zeigt übliche Entwickleraufgaben beim Erstellen von UWP-Apps für Windows 10. Das Toolkit ist Teil der .NET Foundation.
https://github.com/Microsoft/UWPCommunityToolkit
MSBuild
Microsoft Build Engine ist eine Plattform zum Erstellen von Anwendungen. Diese Engine, die auch als MSBuild bekannt ist, bietet ein XML-Schema für eine Projektdatei, die die Fortschritte der Erstellungsplattform kontrolliert und Software erstellt. Visual Studio verwendet MSBuild, aber MSBuild hängt nicht ab von Visual Studio.
https://github.com/Microsoft/msbuild
Juhta.Net
Juhta.Net ist ein App-Framework, der auf .NET Core aufsetzt. Er ist modular aufgebaut.
https://github.com/jlahteen/Juhta.NET
Delve
ASP.NET Core MVC Pagination, Filtering, Sorting, Expanding sowie DataShaping Bibliothek.
https://github.com/bbartels/Delve
ServiceToolkit
Diese Bibliothek erweitert die Debugging-Funktionalität von Windows Services in .NET.
https://github.com/CynCeyd/ServiceToolkit
AspectCore
AspectCore ist ein Aspekt-orientiertes platfformübergreifendes Framework für .NET Core und .NET Framework. Für: Aspekt-Interceptor, Dependency-Injektionsintegration, Web-Applikationen, Datenvalidierung, u.v.m.
https://github.com/dotnetcore/AspectCore-Framework
DutchTreat
Damit erstellen Sie eine Web App mit ASP.NET Core, MVC, Entity Framework Core, Bootstrap, sowie Angular.
https://github.com/lonelydev/DutchTreat
Xwt
Xwt ist ein neues .NET-Framework zum Erstellen von Desktopanwendungen, die auf mehreren Plattformen aus der gleichen Codebasis laufen. Xwt arbeitet über das Bereitstellen einer vereinheitlichten API über alle Umgebungen.
https://github.com/mono/xwt
Core
Ein ultra-schnelles, light-weight MVC-Framework entwickelt für ASP.NET Core, das eine leistungsstarke HTML-Template-Engine verwendet, RESTful Webdienste unterstützt, ein erweiterbares Sicherheitssystem enthält, mit einfachem Setup sowie Konfiguration.
https://github.com/Datasilk/Core
VersionControl
Eine ASP.NET-MVC-Version-Control-Web-Applikation unter Verwendung von RESTful APIs sowie eines Webdienstes.
https://github.com/Darshanhp/VersionControl_Final
AgileMapper
Ein konfigurierbarer objekt-objekt Mapper. Transformiert, aktualisiert und konsolidiert Objekte über Erweiterungsmethoden oder ein statisches beziehungsweise ein Instanz-API. Gedacht für .NET Standard 1.0 und .NET 4.0.
https://github.com/agileobjects/AgileMapper
Swagger
Swagger-Tooling für API's erstellt mit ASP.NET Core. Generieren Sie wunderbare API-Dokumentation, einschließlich einer UI zum Erkunden und Testen von Operationen, direkt aus Ihren Routen, Controllern und Modellen.
https://github.com/domaindrivendev/Swashbuckle.AspNetCore
DesignPatterns
Idee dieses Repository ist das Erstellen einer Library voller Design-Pattern-Implementierungen, erstellt in C#.
https://github.com/MWMjr/DesignPatterns
Auch die ObservableCollections sind Klassen, die oft in WPF-Anwendungen benötigt werden – dann nämlich, wenn Sammlungen von Objekten an Kontrollelemente gebunden werden sollen. ObservableFilteredCollection etwa zeigt nur die Elemente einer Collection an, die den eingestellten Filter passieren.
Dokumente
Artikel als PDF herunterladen


Das könnte Sie auch interessieren