What are boilerplate and architecture erosion costing you?
A Total Waste of Your Time
Manually writing boilerplate is not only boring and frustrating, it is a total waste of your time. Why do manually what a machine can do better and faster?
Although allowing architecture to erode initially saves time, but as it progressively accumulates, it makes everybody on the team less productive.
Your business logic is unreadable because it is littered with boilerplate and the source code becomes so complex that your brain can no longer make sense of it.
As source code derives from the original architecture, more and more exceptions to the rule are committed, and the conceptual complexity of the source code increases.
Boilerplate is littered with bugs because it's created by copy-paste programming and mostly remains untested. Production-readiness features such as logging or caching are neglected because they are too expensive to build without the proper tooling.
As your codebase complexity increases its overall quality suffers: end-users experience bugs and performance degrades.
With both boilerplate and architecture erosion increasing complexity, it becomes more and more expensive to make small changes in your application. A bigger refactoring becomes completely impossible, and you need to rewrite your whole codebase from scratch.
Smart use of meta-programming could extend the lifetime of your codebase by several years.
Our approach: simple, robust meta-programming
Meta-programming is the practice of creating code that generates, modifies, or validates other code, streamlining repetitive tasks and making code review more efficient.
With a focus on simplicity and safety, we have reimagined aspect-oriented programming (AOP) for modern .NET applications.
Aspects and fabrics are special C# classes that execute inside the compiler or the IDE and:
- generate repetitive code at compile-time — your source code remaining crystal clear;
- verify source code against patterns and architecture rules, and report errors in real time;
- suggest code fixes and refactorings and provide guidance to developers.
Do it by your rules. Create your own code templates and verification rules easily and safely.
The result: clean, concise code
adhering to architecture guidelines and design patterns.
Siemens Audiology saved 15% development time plus improved code readability by removing unwanted boilerplate code.
When the team at Siemens Audiology was tasked with building a new WPF implementation for two of its leading hearing system software applications, a big challenge was to find a way to save coding time for developers implementing ViewModels while increasing code readability.
ATS Global saves 16% lines of code.
When the team at ATS Global needed to build a complex shop floor simulation, they faced the challenge of potential multithreading issues and the complexity of writing synchronization code.
The team turned to PostSharp and was able to write thread-safe code without training all team members in advanced multithreading and delivered required features with 16% fewer lines of code.
Thales Information Systems
Thales is more focused on business logic.
When the team at Thales Information Systems was tasked with a big refactoring on a project, one of the challenges was to simplify architecture by reducing boilerplate code. The architect chose PostSharp to implement custom aspects to handle logging, performance counters and INotifyPropertyChanged and keep junior team members better focused on business logic.
Gamesys improves productivity with PostSharp.
Gamesys serves around one million daily active users across its social games. Their backend services handle more than 250 million requests per day. Despite its massive scale, this distinctive service is being maintained by a remarkably small development team of just seven super-productive individuals.
Cognitive X Solutions
PostSharp took care of 95% of CognitiveX's INPC code.
When Cognitive X was looking for ways to deliver value to their clients while differentiating themselves from the competition, the team chose PostSharp as one of the core pieces of their strategy. By decreasing the actual lines of code they were writing, as well as helping them enforce best practices, PostSharp allowed them to produce new features for their clients faster, at lower cost, and with fewer errors.