Automating C# Coding Standards using StyleCop and FxCopBlackRabbitCoder
As organizations grow they usually seek to build a set of coding standards to enforce uniformity and increase the maintainability of their code base. Unfortunately, this often creates a lot of churn in the code review process for simple style issues. This presentation was a session I gave at St. Louis Day of .NET 2010 and talks about how to automate many of the coding standards using two readily available tools.
The presentation on Expanding test horizons with Robot Framework was done during #ATAGTR2017, one of the largest global testing conference. All copyright belongs to the author.
Author and presenter : Kushan Amarasiri
Automating C# Coding Standards using StyleCop and FxCopBlackRabbitCoder
As organizations grow they usually seek to build a set of coding standards to enforce uniformity and increase the maintainability of their code base. Unfortunately, this often creates a lot of churn in the code review process for simple style issues. This presentation was a session I gave at St. Louis Day of .NET 2010 and talks about how to automate many of the coding standards using two readily available tools.
The presentation on Expanding test horizons with Robot Framework was done during #ATAGTR2017, one of the largest global testing conference. All copyright belongs to the author.
Author and presenter : Kushan Amarasiri
Great Android apps only include what's needed to achieve the goals of the product, not enhance the resume of the developer. What’s more, the more maintainable an application is, the more likely it will have increased user satisfaction and decreased time to market.
TestLink is a widely adopted open source product for test management. Now tightly integrated with TeamForge, this combination provides the ability to create test case trackers and associate them with requirements.
Join this webinar to understand how test management can be tied into continuous integration using TeamForge, allowing your agile teams to collaborate and get early feedback. Also, see how traceability can be easily maintained from requirement to test cases to defects and builds.
ATAGTR2017 Machine Learning telepathy for Shift Right approach of testingAgile Testing Alliance
The presentation on Machine Learning telepathy for Shift Right approach of testing was done during #ATAGTR2017, one of the largest global testing conference. All copyright belongs to the author.
Author and presenter : Santhosh GS
HKG15-411: Browser Testing Framework for LHGLinaro
HKG15-411: Browser Testing Framework for LHG
---------------------------------------------------
Speaker: Trevor Woerner, Will Chen
Date: February 12, 2015
---------------------------------------------------
★ Session Summary ★
The purpose of this talk is to provide the audience with an introduction to the testing framework used in Web browser performance testing as implemented by LHG. The browser test suite is used to compare browser performance and compliance by using a series of benchmarks in key test categories. Sample browser results for both Android and RDK will be presented.
--------------------------------------------------
★ Resources ★
Pathable: https://hkg15.pathable.com/meetings/250839
Video: https://www.youtube.com/watch?v=TtAMRnzB2nw
Etherpad: http://pad.linaro.org/p/hkg15-411
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2015 - #HKG15
February 9-13th, 2015
Regal Airport Hotel Hong Kong Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
vREST is an automated REST API testing tool. This presentation is an introduction to the tool. It tells you how to create, execute and manage tests. It also tells you how to analyse results and do some advanced configuration. Try vREST at http://vrest.io/.
Sitecore development approach evolution – destination helixPeter Nazarov
Sitecore Development Approach Evolution – Destination Helix
Sitecore officially recommended Helix as a set of overall design principles and conventions for Sitecore development around 18 month ago at SUGCON 2016 alongside with an official implementation example - Habitat. Why was it necessary? What are the benefits? Has it worked in practice? Peter Nazarov will share the outlook on why and how a combination of Sitecore Helix and Habitat benefits the business and development users of Sitecore in practice.
Great Android apps only include what's needed to achieve the goals of the product, not enhance the resume of the developer. What’s more, the more maintainable an application is, the more likely it will have increased user satisfaction and decreased time to market.
TestLink is a widely adopted open source product for test management. Now tightly integrated with TeamForge, this combination provides the ability to create test case trackers and associate them with requirements.
Join this webinar to understand how test management can be tied into continuous integration using TeamForge, allowing your agile teams to collaborate and get early feedback. Also, see how traceability can be easily maintained from requirement to test cases to defects and builds.
ATAGTR2017 Machine Learning telepathy for Shift Right approach of testingAgile Testing Alliance
The presentation on Machine Learning telepathy for Shift Right approach of testing was done during #ATAGTR2017, one of the largest global testing conference. All copyright belongs to the author.
Author and presenter : Santhosh GS
HKG15-411: Browser Testing Framework for LHGLinaro
HKG15-411: Browser Testing Framework for LHG
---------------------------------------------------
Speaker: Trevor Woerner, Will Chen
Date: February 12, 2015
---------------------------------------------------
★ Session Summary ★
The purpose of this talk is to provide the audience with an introduction to the testing framework used in Web browser performance testing as implemented by LHG. The browser test suite is used to compare browser performance and compliance by using a series of benchmarks in key test categories. Sample browser results for both Android and RDK will be presented.
--------------------------------------------------
★ Resources ★
Pathable: https://hkg15.pathable.com/meetings/250839
Video: https://www.youtube.com/watch?v=TtAMRnzB2nw
Etherpad: http://pad.linaro.org/p/hkg15-411
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2015 - #HKG15
February 9-13th, 2015
Regal Airport Hotel Hong Kong Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
vREST is an automated REST API testing tool. This presentation is an introduction to the tool. It tells you how to create, execute and manage tests. It also tells you how to analyse results and do some advanced configuration. Try vREST at http://vrest.io/.
Sitecore development approach evolution – destination helixPeter Nazarov
Sitecore Development Approach Evolution – Destination Helix
Sitecore officially recommended Helix as a set of overall design principles and conventions for Sitecore development around 18 month ago at SUGCON 2016 alongside with an official implementation example - Habitat. Why was it necessary? What are the benefits? Has it worked in practice? Peter Nazarov will share the outlook on why and how a combination of Sitecore Helix and Habitat benefits the business and development users of Sitecore in practice.
Designing the foundations of an iOS application is important to reduce the cost of maintenance and evolution. In this session we will see some best practices on how to organize iOS apps both from the point of view of the Xcode project and the source code. Based on the typical iOS client/server application, we will see how to structure the layers ranging from the user interface to the netwrok layer.
Slides presented at #Pragma Conference 2013
http://pragmamark.org/eventi/pragma-conference-2013/
http://pragmamark.org/sessioni/pragma-conference-2013-building-ios-app-project-and-architecture/
Patterns for automating API delivery. API conferencessuser9e7c64
Automating API product delivery is about automating workflows to improve the quality and delivery speed for APIs by applying APIOps principles. In this talk, I discuss patterns for
API consistency checks: Enforcing API design standards with linting tools like Spectral, Redocly and Vacuum.
API breaking change checks: Automating breaking-change checks with OpenAPI diff tools like Oasdiff
API conformance checks: Ensuring accuracy of your API reference documents using API conformance tools like Schemathesis.
API code generation: Generate server and client code using SDK generators like OpenAPI Generator
Originally this was proposed as "88 Slides About 44 Modules" but it was scaled back to "44 Slides About 22 Modules". It was meant as a quick and dirty introduction to small niche / utility modules that people may not have been aware of (with a couple hardcore useful dev modules mixed in.)
This presentation will be useful to those
who would like to get acquainted with lifetime history
of successful monolithic Java application.
It shows architectural and technical evolution of one Java web startup that is beyond daily coding routine and contains a lot of simplifications, Captain Obvious and internet memes.
But this presentation is not intended for monolithic vs. micro services architectures comparison.
Mastering azure devOps - Dot Net TricksGaurav Singh
DevOps is the combination of "development and operations" where the Collaboration of software development (Dev) and information-technology operations (Ops) aims to to deliver applications and software services at high speed and high velocity using combination of cultural philosophies, practices, and tools.
How to R.E.A.D: Steps for how to select the correct module @NEWDCamp 2014Michael Miles
To use a contrib module, patch a contrib module or write a custom module, that is the question. With over 27,000 contrib modules available for download it is rare to find one that does not offer the functionality you are looking for. However, when you cannot find a module that fits your needs you are then faced with a choice. Do you patch an existing contrib module? Or write a custom module?
To figure out the answer to the questions you just need to remember to R.E.A.D. This session goes over the four steps of R.E.A.D that help you decide which path you should follow and how you can quickly and correctly identify if you should patch a contrib module or write your own custom module.
This session use some real world examples to demo straight how these steps were utilized to make the correct decision. This session also talk about the basics and best practices of writing and contributing a patch, and the best practices to follow if you decide to pursue writing a custom module and how to contribute it back to the Drupal community.
This session is geared to developer, site builders and functionality decision makers who consider themselves new to Drupal. This session can also prove to be beneficial to experienced drupalists who want validation on habits they have developed over time.
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023Vadym Kazulkin
In this talk I will compare 2 services Github Copilot (including Copilot X) and Amazon CodeWhisperer from the perspective of the Java developers in terms of the quality of the given recommendations for simple tasks, complex algorithms, Spring Boot and AWS development, IDE integration and pricing.
Both services are the machine learning-powered services that help improve developer productivity by generating code recommendations based on developers’ comments in natural language and their code. Based on natural language comments, these services also automatically recommend unit test code that matches your implementation code.
Theming Joomla! can be hard work. Choosing the right template for a site involves balancing a wide range of style, structure and function factors. The choice often involves compromises and modifications. This is an overview of the theming and customization process, and a showcase of the broad spectrum of template options and tools, including reviews and demos of the most important ones. Presented to the Melbourne Joomla! User Group on 27 Aug 2014.
Releasing High Quality PHP Packages - ConFoo Montreal 2019Colin O'Dell
Releasing open-source libraries is more than sharing your Github URL with the world. There are many considerations and steps involved especially for successful and long-lived projects.
In this talk we’ll cover the principles behind creating, releasing and maintaining high-quality libraries. Topics will include structuring the repository, implementing modern PHP standards, maintaining changelogs, using CI tests, releasing new versions and more.
Releasing High Quality Packages - Longhorn PHP 2021Colin O'Dell
Releasing open-source libraries is more than sharing your GitHub URL with the world. There are many considerations and steps involved especially for successful and long-lived projects.
In this talk, we’ll cover the principles behind creating, releasing, and maintaining high-quality libraries. Topics will include structuring the repository, implementing modern PHP standards, maintaining changelogs, using CI tests, releasing new versions, and more.
Similar to StyleCop breaking down the barriers to entry (20)
On Saturday 1st October 2016, I presented a talk at DDD North entitled "A Piece of Cake - C# powered cross platform build automation"
The source code associated with this talk can be found here: https://github.com/gep13/CakeDemos
On Saturday 3rd September 2016, I presented a talk at DDD11 entitled "A Piece of Cake - C# powered cross platform build automation"
The source code associated with this talk can be found here: https://github.com/gep13/CakeDemos
On Thursday 9th June 2016, I presented a talk at NDC Oslo 2016 entitled "A Piece of Cake - C# powered cross platform build automation"
The source code associated with this talk can be found here: https://github.com/gep13/CakeDemos
Having your cake, and eating it too! - DDDScotlandGary Park
On Saturday 14th May 2016, I presented a talk at DDD Scotland 2016 entitled "Having your Cake, and eating it too!"
The source code associated with this talk can be found here: https://github.com/gep13/CakeDemos
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
StyleCop breaking down the barriers to entry
1. StyleCop
Breaking down the barriers to entry
Gary Ewan Park
gep13@gep13.co.uk
Twitter: @gep13
Blog: http://www.gep13.co.uk/blog
2. Agenda
•
•
•
•
•
•
•
•
What is StyleCop?
Visual Studio Integration
MSBuild Integration
Using a Custom Task
StyleCop Compliance
Extending StyleCop
Working with “Legacy” Applications
Additional Tooling Support
5. A Definition…
“StyleCop is an open source static code analysis tool
from Microsoft that checks C# code for conformance to
StyleCop's recommended coding styles and a subset of
Microsoft's .NET Framework Design Guidelines. StyleCop
analyzes the source code, allowing it to enforce a different set
of rules from FxCop.” *
Reference
http://stylecop.codeplex.com/
* http://en.wikipedia.org/wiki/StyleCop
6. What does that mean?
• StyleCop is a “plugin” for Visual Studio 2008, 2010, and VS
11 Preview (and in a way, 2005* and Express)
• It provides 162 rules over 7 categories of “style”
* http://gep13.me/ie1T0V
11. This gets installed by default…
During the installation
you have the option
to install MSBuild files.
These files will be
required if you want to
integrate StyleCop
analysis with the Visual
Studio build process or
a Continuous
Integration Server.
12. MSBuild Integration – Visual Studio
To add StyleCop as part of the “Build” process in Visual Studio
follow these steps:
1. Use the StyleCop.MSBuild Nuget package to install the
necessary files and make file edits.
2. This edits the project file to include:
3. Add the following property in the project file to force all
warnings to be treated as errors:
15. MSBuild Integration – Custom Task
• StyleCop also includes a MSBuild task that can be used to
create a custom build step
• Manning Publications – Continuous Integration in .NET
• http://gep13.me/MuNEL9
16. Demo 3
Using a Custom Task
Running StyleCop Analysis as a custom task
with MSBuild and TeamCity
18. Visual Studio Templates
During the installation
you have the option to
install a new set of
Visual Studio
Templates, which will
already by StyleCop
“compliant”
19. Going further with more templates…
• Use StyleCop compliant code snippets
• http://vssnippets.codeplex.com/
• Use StyleCop compliant project/item templates
• http://vstemplates.codeplex.com/
20. Talk to your Team
• Get Buy-In from your Team Members
• Only enable the StyleCop rules that you want to
follow
• Have a team meeting to decide
23. Add More StyleCop Rules
• There are a number of projects that are extending the builtin StyleCop rules:
StyleCop+
o http://stylecopplus.codeplex.com/
JSL StyleCop
o http://jslstylecop.codeplex.com/
24. Create your own Custom StyleCop Rule
1.
2.
3.
4.
5.
6.
Create a .Net Framework 3.5 Class Library Project in
Visual Studio
Add a reference to StyleCop.dll and StyleCop.Csharp.dll
Create your analyzer class that inherits from
SourceAnalyzer
Add an XML file with the same name as the analyzer
class. Set the properties of the XML file to be an
Embedded Resource and not copy to the output directory
Override the AnalyzeDocument method
You are ready to write your own analysis code
• http://gep13.me/JIn0xL
25. StyleCop Contrib
This CodePlex Project started out life as another Custom
StyleCop Rule Library, however, now it is a Unit Testing
Framework for Custom StyleCop Rules
http://stylecopcontrib.codeplex.com
Allows you to quickly begin testing your Rules, without the
need to debug multiple instances of Visual Studio
28. Using StyleCop in an Existing Project
• Turn off analysis for
generated code
• Surround code in a
region with the text „generated code‟ within the title
• Turn off StyleCop Analysis for a particular file using
SourceFileList in Settings.StyleCop file
• Turn off StyleCop Analysis for an entire project using
Settings.StyleCop file
29. Demo 6
Working with “Legacy” Applications
Turning StyleCop off for an existing large
project using Settings file
31. Refactoring StyleCop Rules
• There are plugins available for both CodeRush and
ReSharper to help refactor code to be StyleCop Compliant
• StyleCop For ReSharper
Now included as part of the core StyleCop installation
Automatically fixes 128 StyleCop issues during
ReSharper “CleanUp Code…”
• Style Ninja for CodeRush
http://code.google.com/p/dxcorecommunityplugins/wiki/
CR_StyleNinja
Fixes 23 StyleCop Issues
32. ReSharper Integration
During the installation
you have the option
to install ReSharper
Integration files, these
will be required if you
want to be able to
analyse and correct
StyleCop warnings
using ReSharper
Refactorings.
Questions – feel free to ask them at any point, just throw up your hand, or if I don’t see you, feel free to shout at me.Explain what I have on my machine, i.e. all code in Local Git Repo, Git Extensions in Visual Studio, TeamCity, local Nuget Repo for a couple packagesMake sure to explain that the intention of the talk is to show how, out of the box, StyleCop can appear to be slightly “jarring”. However, there are processes and tooling that you can add/implemented that can make things easier.
Ask who is currently using StyleCopAsk who is currently using FxCop – Code AnalysisCoding Standard ARE NOT the personal preference of the most senior person on the team!
The rules are classified into the following categories: - Documentation - Layout - Maintainability - Naming - Ordering - Readability - SpacingStyleCop includes both GUI and command line versions of the tool. It is possible to create new rules to be used.StyleCop was re-released as an open source project in April of 2010, at http://stylecop.codeplex.com.Originally used internally within Microsoft, and later released to the public.
StyleCop Analysis at: - Solution Level - Project Level - Code File LevelTurn On and Off RulesConfigure SettingsOverride Default Hungarian NotationSpecify Company Information
Mention that this isn’t “required” if you use the StyleCopNuget Package
The MSBuild files that are installed as part of the StyleCop installation are not actually required if you use the Nuget Package.
StyleCop+ adds - Advanced Naming Rules - More Custom Rules - Code Line Must Not End With Whitespace - Check Allowed Indentation Characters - Check Whether Last Code Line is Empty - Code Line Must Not Be Longer Than… - Method Must Not Contain More Lines Than… - Property Must Not Contain More Lines Than…JSL StyleCop adds - More Custom Rules - Members Must be in Alphabetical Order - Don’t Compare to Boolean Constants - Local Variable Assignment Unused - Local Variables Should be Set Where They are Declared - Move Variable Declaration to Usage Level