Rules to Healthier Code Presented by Adam Cogan (Chief Architect for www.ssw.com.au)www.ssw.com.au.

Slides:



Advertisements
Similar presentations
Development Life Cycle using Visual Studio Team Edition for DB Professionals Richard Fennell Engineering Director SQLBits II Birmingham 1 st March 2008.
Advertisements

A Taste of Visual Studio 2005 David Grey. Introduction In this session we will introduce Visual Studio 2005 and its features and examine those features.
Productivity Tools For SAS . SAS ® users today ASAP ™Enhancement complementSoft introduces ASAP ™ an innovative productivity tool for SAS ® Diagramming.
Integrated Development Environments, Source Control Repositories, Automated Testing Tools, Bug Tracking, Code Analysis Tools, Build Tools, Project Hosting.
Eralp Erat Senior Software Developer MCP,MCAD.NET,MCSD.NET.
Visual Studio Team System (VSTS). Richard Hundhausen Author of software development books Microsoft Regional Director Microsoft MVP (VSTS) MCT, MCSD,
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Microsoft SQL Reporting Services
CSE3030Lecture 11 Know Your User The First Slogan.
The Microsoft Technical Roadshow 2006 Welcome and Introduction Kevin McDaniel Developer & Platform Evangelism Group Microsoft Ltd
What’s Completely New? Visual Studio Team System! Sean Puffett Developer Evangelist
Welcome Jason McConnell Developer Evangelist Microsoft Australia
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Hans Verbeeck What We’ve Heard Continued complexity of building enterprise systems Bigger, more distributed teams More challenges.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Pedro Miguel Rosa Senior Software Engineer Developer Platform Group.
Kevin C. Kelly Microsoft
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
Team System Adoption Martin Woodward Teamprise. Visual Studio Editions Easy to use, easy to learn, easy to acquire tools for hobbyists, enthusiasts, and.
Oracle Developer Tools for Visual Studio.NET Christian Shay Principal Product Manager Oracle Corporation Prerequisites for presentation:
Making Visual Studio Team System work in your Organisation Streamline your bug handling and development management system Bikes…
Visual Studio 2005 Team System: Enterprise Class Source Control & Work Item Tracking Ajay Sudan Microsoft Corporation
WEB329 ASP.NET: A Lap Around the New Enhancements for Web Developers in Microsoft Visual Studio 2005 Omar Khan Lead Program Manager Web Platform and Tools.
Development Best Practices Concepts & Microsoft’s Approach.
Session 3 Access to Reporting Services Adam Cogan Database Architect ssw.com.au.
Extreme Programming Adam Cogan Database Architect ssw.com.au.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
An Introduction to ASP.NET Ed Dunhill blogs.msdn.com/edunhill SLIDE7.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
.NET Code Auditing Keith Rull Software Engineer First Allied Securities Inc.
Tejasvi Kumar Technology Specialist – VSTS Microsoft Corporation
2. Introduction to the Visual Studio.NET IDE. Chapter Outline Overview of the Visual Studio.NET IDE Overview of the Visual Studio.NET IDE Menu Bar and.
Visual Studio 2005 Team System: Building Robust & Reliable Software Tejasvi Kumar Technology Specialist - VSTS Microsoft Corporation
Functional Automation Testing Case Study 360logica Software Testing Services.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Visual Studio 2005 Team System: Enterprise Development and Test Sean Puffet Microsoft Ltd
Converting Access 97 to 2003 Adam Cogan Database Architect ssw.com.au.
DEV 303 Visual Studio "Whidbey" Enterprise Tools: Source Control and Work Item Tracking Brian Harry Product Unit Manager Microsoft Visual Studio.
Visual Studio 2005 Team System Winning the testing space with advanced testing tools Eric Adams Program Manager Visual Studio 2005 Team System Microsoft.
Sofia, Bulgaria | 9-10 October Troubleshooting Web Site Performance Issues with Visual Studio Team System Martin Kulov Director,.NET Development National.
Microsoft Dynamics NAV 2009 and Architecture Overview Name Title Microsoft Corporation.
Module 1: Getting Started. Introduction to.NET and the.NET Framework Exploring Visual Studio.NET Creating a Windows Application Project Overview Use Visual.
Microsoft Australia Security Summit Design for Operations Nigel Watson, Microsoft Australia David Lemphers, TeamForce Nigel Watson, Microsoft Australia.
Building More Reliable And Better Performing Web Applications With Visual Studio 2005 Team System Gabriel Marius TLN312 Program Manager Microsoft Corporation.
South Florida Enterprise and Strategy Architects Special Interest Group (SF ESA SIG) June 19, 2007 Lawrence Port Otive LLC
Visual Studio Team System overview Pierre Greborio Software Architect – PEWay Microsoft MVP – Solutions Architect.
Introducing Visual Studio 2010: What It Is and Why You Should Care
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
INTRODUCTION CHAPTER #1 Visual Basic.NET. VB.Net General features It is an object oriented language  In the past VB had objects but focus was not placed.
1 Introduction Bindia Hallauer & Ajay Sudan Product Management, Visual Studio Team System Microsoft Corporation.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
Aniruddha Deswandikar & Govind Kanshi Microsoft Technology Center, Bangalore SESSION CODE: ##### Building performant Web applications.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Tools to support the Software Development Process Simon Davies Microsoft Ltd
Connect with life Tejasvi Kumar Developer Technology Specialist | Microsoft India
Continuous Delivery and Team Foundation Server 2013 Ognjen Bajić Ana Roje Ivančić Ekobit.
CIS-NG CASREP Information System Next Generation Shawn Baugh Amy Ramirez Amy Lee Alex Sanin Sam Avanessians.
WEB330 ASP.NET: Using Microsoft Visual 2005 Studio Team System to Build Enterprise Web Applications Brian Goldfarb Product Manager Web Platform and Tools.
Automation Testing Trainer: Eran Ruso. Training Agenda Automation Testing Introduction Microsoft Automation Testing Tool Box Coded UI Test and Unit Test.
Building Enterprise Applications Using Visual Studio®
DEV260 Microsoft Visual Studio 2005 Team System: Managing the Software Lifecycle with Visual Studio 2005 Team System Bindia Hallauer Senior Product Manager.
Module 0: Introduction Chapter 2: Getting Started
Module 1: Getting Started
11/12/2018 6:58 PM © 2004 Microsoft Corporation. All rights reserved.
Visual Studio 2005 “Personalized productivity”
Tech Ed 2004 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express.
DAT381 Team Development with SQL Server 2005
Introduction to VSTS Database Professional
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Rules to Healthier Code Presented by Adam Cogan (Chief Architect for

About Chief Architect for doing: –internal corporate development and –generic off-the-shelf databases –Clients: Royal & Sun Alliance, Westbus, Microsoft… President.NET User Group, Sydney Speaker for Microsoft TechEd and Roadshows, Dev Conn, VSLive…. Microsoft Regional Director, Australia …Australia…

Agenda Unit Testing –NUnit –Test Driven –Other Unit Tests Code Analysis –Microsoft FxCop –SSW Code Auditor Code Profiling –JetBrains dotTrace Profiler Build Server –Cruise Control The Future –Other Tools –Visual Studio Team System

What is Healthy code? What is Healthy Code anyway? Why is it Important? What about Documentation? Is your spec in bite-sized pieces? Does your spec have the 3 important things?

NUnit How many unit tests do you write…?

When do you write Unit Tests? 100% unit tests is 100% impractical Unit tests should be written for: –Dependencies – e.g. DLLs Run time errors (JIT) –Dependencies – e.g. Database Schema, Datasets, Web Services –Fragile Code – e.g. Regular Expressions –When errors can be difficult to spot – e.g. Rounding, arithmetic, calculations –Performance – e.g. Slow forms Don’t: –When the unit tests are bigger than the original (Insert) –Generated Code like Insert, Update, Delete Rules to Better Unit Testing

Do you have ‘Run Unit Tests’ on your Help Menu? UnitTests.aspx#MenuUnitTestshttp:// UnitTests.aspx#MenuUnitTests A user should be able to run unit tests through an application. This aids the developers quickly identify any problems with the application by running the unit tests.

Test Driven.NET Do you run Unit Tests with the right click of your mouse? Run unit tests from your right click menu

What about other things? Access Unit Tests –SSW Performance PRO ( –FMS Total Access Analyzer ( SQL Reporting Services Unit Tests –SSW Report Validator Performance Unit Tests –MBUnit ( Javascript Unit Tests –JsUnit ( ) And The Backend?

SSW Performance Pro

SSW Report Validator

MBUnit

JsUnit

FxCop What is FxCop? Code analysis tool for.NET managed code assemblies Checks: Library design Naming conventions Performance Security Don’t: Globalization

SSW Code Auditor What is Code Auditor? 1.Maintains coding standards 2.Checks C# and VB.NET code 3.Prevents bad coding practices 4.Integration into Visual Studio

SSW Code Auditor Extensive rule set that is customizable – ult.aspx#Ruleshttp:// ult.aspx#Rules

SSW Code Auditor Produces an XML Report

JetBrains dotTrace Profiler Measures the performance of ASP.NET or Windows Form Application Quickly identify bottle necks through Hot Spots

Test Driven Process Q: What is VSS? A: It is not a file share Check Out Compile Run Unit Tests If it is OK then Start Develop… Develop… Develop… Run Unit Tests If OK Check In Get Latest Run Unit Tests Again to confirm venProcesshttp:// venProcess Want to poison the system – I smell a rat

Cruise Control What is Cruise Control? –Automated Continuous Integration server –Integration with a variety of Source Control systems –Integration with other external tools, such as NAnt and Visual Studio –Can build multiple projects on one server –Remote management and reporting –There is always oneThere is always one +to+CruiseControl.NET

Cruise Control Features: –Web Portal for build info –Tray icon notification

Visual Studio Team System Key Features: –Integration of: Unit Testing –Code Coverage Source Control Code Analysis (FxCop) Code Profiling

Overview Team Communication Quality Early & Often Platform For Innovation Design for Operations Project Manager Solution Architect Developer Tester Infrastructure Architect

Visual Studio Team System Integrated Unit Testing Code coverage –See what code has been executed Static code analysis –FxCop in the task list Code profiling –Based on two internal profilers: Sampling (Light weight) Instrumented (Heavy duty) –Sequence view examines running threads –Caller-callee, callstack, and function views (there today) Why was it built? To avoid the cat problem

Integrated Unit Testing

Code Coverage

Static Code Analyzer

Code Profiling

Perf Counter integration and monitoring Load Testing

Integrated Reporting

Integrated Build Server

Conclusion To achieve healthy code: –Unit Testing - NUnit –Code Analysis – FxCop and SSW Code Auditor –Build Server – Cruise Control.NET –Visual Studio Team System (everything is integrated) The resources don’t hurt either! – perGeneral/netTools.aspxhttp:// perGeneral/netTools.aspx

Resources SSW.NET Toolkit SSW Code Auditor SSW Performance PRO FMS Total Access Analyzer NUnit MBUnit Test Driven

Resources JetBrains dotTrace Profiler JsUnit FxCop Cruise Control.NET Welcome+to+CruiseControl.NET Welcome+to+CruiseControl.NET Visual Studio Team System

2 things