Giter VIP home page Giter VIP logo

sharpen's Introduction

Sharpen

Sharpen is a Visual Studio extension that intelligently introduces new C# language features into your existing code base. It makes your code shorter, simpler, more expressive, more performant, and more readable, in one word - sharper.

Twitter Visual Studio Marketplace AppVeyor GitHub release License

TL; DR

Sharpen identifies places in your code that will benefit of introducing new C# language features. It helps you to quicker learn new C# features and to critically refactor your existing code to modern C#.

Sharpen in action

Installation

You can install Sharpen directly from Visual Studio or download it from the Visual Studio Marketplace.

Benefits at a Glance

Faster Learning of New C# Features

Learn new C# features faster by applying them to your existing code base.

Forget the simplified, artificial code samples often used to introduce new C# features. Sharpen points to places in real-life production code - your code! - where new C# features should be used.

Faster Learning of New C# Features

Critical Approach to New C# Features

Learn to โค C# but not blindly. Take love with a pinch of salt ;-)

Sharpen brings a critical view on C# features. It recommends applying them only if their usage will actually result in "sharper" code. Sharpen is not shy of saying No to a language feature.

Consistent Usage of C# Features

Consistency matters. Your preferences as well.

Once configured on your project, Sharpen ensures that C# language features are consistently used over the whole code base.

Code Refactoring on Arbitrary Scale

Safely refactor your code by a single mouse click.

Sharpen can refactor your code on an arbitrary scale: single place in code, single file, or a whole project, or solution. At the same time, it gives you full control over the scope and nature of the refactorings.

Code Refactoring on Arbitrary Scale

Improving Code on a Larger Scope

Still having BackgroundWorkers in your code?

It's time to replace them with async-await! Sharpen is equipped with an intelligent heuristics that recognizes potential improvements of your code on a broader scope.

Extensive Documentation on C# Language

Tired of searching for new C# features in random blog posts?

Sharpen comes with extensive built-in documentation on C# language features. It's a one-stop-shop for everything you ever wanted to know about the design and evolution of C#.

Note that in the current version of Sharpen the following features mentioned in the above chapters are still not available:

  • Extensive documentation.
  • Recommendations.
  • Refactoring.
  • Configuration.

Contributing

Sharpen is a volunteer effort. Covering the whole C# evolution is a humongous task that cannot be carried out by a single person. So pitch in and join the development! :-) Before contributing, please make sure to read the contribution guidelines.

Release Notes

All notable changes to the Sharpen extension are documented in the changelog. Below is the excerpt from the changelog that lists only the summary of major changes.

0.7.0

  • Analysis of selected files, folders, and projects via "Analyze with Sharpen" option on context menus.

0.6.1

  • Better display of Async and Await findings in the Sharpen Results view.
  • Suggestion for awaiting task instead of calling Task.Result.

0.6.0

  • Async/Await suggestions (C# 5.0).

0.5.0

  • Suggestions for using nameof expressions in argument exceptions and dependency properties (C# 6.0).

0.4.0

  • Suggestions for discarding of out variables (C# 7.0).
  • Suggestions for usages of out variables in object creations (C# 7.0).

0.3.0

  • Suggestions for usages of out variables (C# 7.0).
  • Grouping of the analysis results by C# language feature.

0.2.0

  • Suggestions for usages of default expressions (C# 7.1).

0.1.1

  • Icon, preview image and release notes.

0.1.0

  • Display of the analysis results in a tree view.
  • Analysis of the whole solution.
  • Suggestions for usages of expression-bodied members (C# 6.0 & C# 7.0).

License

Sharpen is licensed under the MIT license.

sharpen's People

Contributors

ironcev avatar shankyjain7243 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.