+ All Categories
Home > Documents > Troubleshoot Add New Capabilities Improve Code/Architectural Health.

Troubleshoot Add New Capabilities Improve Code/Architectural Health.

Date post: 16-Dec-2015
Category:
Upload: gerald-richard
View: 217 times
Download: 0 times
Share this document with a friend
Popular Tags:
36
Transcript

Understand Code with Code MapsStuart Kent

DEV-B346

Introduction

Objectives• Understand key developer scenarios where

code maps are effective

• Learn how to create useful code maps in context of scenarios

• Learn about the specific capabilities supported by code maps

“ A picture is worth a thousand words.”

Fred R Barnard

Scenarios

TroubleshootAdd New Capabilities

Improve Code/Architectural Health

Enduring Developer Workflows

InvestigateDesign (Review)

Implement (Review)

Test

Analyse dependencies top downValidate dependenciesUnderstand OO designAssess impact of a potential changeUnderstand execution flowManage dependencies on a framework

Concrete scenarios

Analyse dependencies top downFigure out how to refactor the architecture and design of code to support a new feature

Demo

Figure out how to refactor the architecture design of backlogmaps to work with work item management systems other than TFS

What you sawDependency map from solutionClean up of externalsExpand/collapse of nodes & node selection to explore dependenciesDrill into a dependency linkNavigate to source from nodesAdd commentsSave, copy image

Validate dependenciesOnce an invalid dependency is discovered, prevent new code from reintroducing it

Demo

Once the invalid dependency to TFS from the UX Layer in backlogmaps is discovered, prevent new code from reintroducing it

What you sawCreation of a layer diagramPopulation of layer diagram from code mapGeneration of dependencies on the layer diagramRemoval of an undesired dependencyDependency validationSuppressing errors (existing debt)

Understand OO designUnderstand the design of a body of OO code

Demo

Understand the design of the StoryMaps.Model namespace in backlogmaps

What you sawHubs analyzerSelection and delete to simplify mapPopulation of map with derived and base typesShow containersShow all references

Assess impact of a potential changeAssess the impact of a potential change to a code element, to produce an implementation plan and cost estimate

Demo

Assess the impact of adding a new literal to the ChangedProperty enum in backlogmaps, to produce an implementation plan and cost estimate

What you sawCode map from CodeLens references indicatorShow containersLegendFlagging nodesAdding comments

Understand execution flowFigure out the path taken through code when it is executed

Demo

Figure out the path taken through backlogmaps code when one of its unit tests is executed

What you sawVisualize execution flow whilst debuggingShow containers

Manage dependencies on a frameworkWhilst developing an app from scratch, track and control the dependencies on an underlying framework

Demo

Whilst developing a code analysis app from scratch track and control the dependencies on the “Roslyn” framework

What you sawNuget package mapCopy from code map to Nuget mapDrag-drop DLLs from file explorerDeleting and replacing nodes to take account of updates

Objectives• Understand key developer scenarios where

code maps are effective

• Learn how to create useful code maps in context of scenarios

• Learn about the specific capabilities supported by code maps

Analyse dependencies top downValidate dependenciesUnderstand OO designAssess impact of a potential changeUnderstand execution flowManage dependencies on a framework from scratch

Dependency mapsImpact mapsOO design mapsNuget package maps

Create code map from solution, code element, DLLs, whilst debuggingGrouping, expanding, adding references, adding containers, link stylingNavigate around code, drill into dependency, interaction with layerStyling, flagging, commenting and sharing

ResourcesVisualizing and Understanding Code MSDNhttp://aka.ms/msdn-codevis

Get the Most Out of Your Code Maps Channel 9http://aka.ms/techedus14-codemap

Map methods on the call stack while debugging MSDNhttp://aka.ms/msdn-debugmap

Debug visually with Code Map debugger integration Channel 9http://aka.ms/c9-debugmap

Microsoft ALM Blog new feature announcementshttp://blogs.msdn.com/b/visualstudioalm/

Code Visualization and Modeling Tools Forum Q & Ahttp://aka.ms/vsarchforum

Breakout Sessions (session codes and titles)

Related content

Labs (session codes and titles)

Microsoft Solutions Experience Location (MSE)Developer Tools & Technologies – ALM DevOps

Find Me Laterat the end of this sessionvia MSE location aboveby arrangement via @sjhkent or [email protected]

Connect with peers: DevOps meet up on Thurs (30th) 14:30–15:30 @ IT Community Experts in the Resource Zone (Expo Hall 7)

DevOps sessions @ TEE http://aka.ms/techeddevops

Resources for Devshttp://aka.ms/teched-eu

Resources for IT Opshttp://aka.ms/devopstl

Join the DevOps Insiders Group [email protected]

DevOps Resources

http://www.visualstudio.com

http://blogs.msdn.com/b/developer-tools/

http://msdn.microsoft.com/vstudio

DEV Track Resources

visualstudio

@visualstudio

visualstudio

Resources

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

Developer Network

http://developer.microsoft.com

TechNet

Resources for IT Professionals

http://microsoft.com/technet

Sessions on Demand

http://channel9.msdn.com/Events/TechEd

Please Complete An Evaluation FormYour input is important!TechEd Schedule Builder CommNet station or PC

TechEd Mobile appPhone or Tablet

QR code

Evaluate this session

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Recommended