Stuart Kent DEVB346 Introduction Objectives Understand key developer scenarios where code maps are effective Learn how to create useful code m aps in context of scenarios Learn about the specific capabilities supported by code maps ID: 556935
Download Presentation The PPT/PDF document "Understand Code with Code Maps" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
Understand Code with Code Maps
Stuart Kent
DEV-B346Slide3
IntroductionSlide4
Objectives
Understand key developer scenarios where code maps are effective
Learn how to create useful code
m
aps in context of scenarios
Learn about the specific capabilities supported by code mapsSlide5
“ A picture is worth a thousand words.”
Fred R
BarnardSlide6Slide7
ScenariosSlide8
Troubleshoot
Add New Capabilities
Improve
Code/Architectural
Health
Enduring Developer Workflows
Investigate
Design
(
Review
)
Implement (
Review
)
TestSlide9
Analyse dependencies top down
Validate dependenciesUnderstand
OO
design
Assess
impact of a
potential
change
Understand
execution flow
Manage dependencies on a
framework
Concrete scenariosSlide10
Analyse dependencies top down
Figure out how to refactor the architecture and design of code to support a new featureSlide11
Demo
Figure out how to refactor the architecture design
of
backlogmaps
to
work with work item management
systems
other than TFSSlide12
What you saw
Dependency map from solutionClean up of externals
Expand/collapse of nodes & node selection to explore dependencies
Drill into a dependency link
Navigate to source from nodes
Add comments
Save, copy imageSlide13
Validate dependencies
Once an invalid dependency is discovered, prevent new code from reintroducing itSlide14
Demo
Once the
invalid dependency
to TFS from the UX Layer in
backlogmaps
is
discovered, prevent new code from reintroducing itSlide15
What you saw
Creation of a layer diagramPopulation of layer diagram from code map
Generation of dependencies on the layer diagram
Removal of an undesired dependency
Dependency validation
Suppressing errors (existing debt)Slide16
Understand OO design
Understand the design of a body of OO codeSlide17
Demo
Understand the design of the
StoryMaps.Model
namespace in
backlogmapsSlide18
What you saw
Hubs analyzerSelection and delete to simplify map
Population of map with derived and base types
Show containers
Show all referencesSlide19
Assess impact of a
potential change
Assess the impact of a potential change to a code element, to
produce an
implementation plan and cost estimateSlide20
Demo
Assess the impact of adding a new
literal to the
ChangedProperty
enum
in
backlogmaps
, to produce an implementation plan and cost estimateSlide21
What you saw
Code map from CodeLens
references indicator
Show containers
Legend
Flagging nodes
Adding commentsSlide22
Understand execution flow
Figure
out
the path
taken through code when
it is executedSlide23
Demo
Figure out the path taken through
backlogmaps
code
when
one of its unit tests
is executedSlide24
What you saw
Visualize execution flow whilst debugging
Show containersSlide25
Manage dependencies on a framework
Whilst developing an app from scratch, track and control the dependencies on an underlying frameworkSlide26
Demo
Whilst developing a
code analysis app
from
scratch track and control the dependencies on
the
“Roslyn” frameworkSlide27
What you saw
Nuget package
map
Copy from code map to
N
uget
map
Drag-drop DLLs from file explorer
Deleting and replacing nodes to take account of updatesSlide28
Objectives
Understand key developer scenarios where code maps are effective
Learn how to create useful code
m
aps in context of scenarios
Learn about the specific capabilities supported by code maps
Analyse dependencies top down
Validate dependencies
Understand OO design
Assess impact of a potential change
Understand
execution flow
Manage dependencies on a
framework
from scratch
Dependency maps
Impact maps
OO design maps
Nuget
package maps
Create code map from
solution,
code element
, DLLs,
whilst debugging
Grouping, expanding, adding references, adding containers, link styling
Navigate around code, drill
into
dependency, interaction with layer
Styling, flagging, commenting
and s
haringSlide29
Resources
Visualizing and Understanding Code
MSDN
http://aka.ms/msdn-codevis
Get the Most Out of Your Code Maps
Channel 9
http://aka.ms/techedus14-codemap
Map methods on the call stack while debugging
MSDN
http://aka.ms/msdn-debugmap
Debug visually with Code Map debugger integration
Channel 9
http
://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/vsarchforumSlide30
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
Later
a
t the end of this session
v
ia MSE location above
b
y arrangement via @
sjhkent
or stukent@microsoft.com Slide31
Connect with peers:
DevOps meet up on Thurs
(30
th
) 14:30–15:30 @ IT Community Experts
in
the Resource Zone (Expo Hall 7)
DevOps
sessions @ TEE
http://aka.ms/techeddevops
Resources for
Devs
http://aka.ms/teched-eu
Resources for IT Ops
http://
aka.ms/devopstl
Join the
DevOps Insiders Group msdevops@microsoft.com
DevOps ResourcesSlide32
http://www.visualstudio.com
http://blogs.msdn.com/b/developer-tools/
http://msdn.microsoft.com/vstudio
DEV Track Resources
visualstudio
@
visualstudio
visualstudioSlide33
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/TechEdSlide34
Please Complete An Evaluation Form
Your input is important!
TechEd Schedule Builder
CommNet
station
or PC
TechEd Mobile
app
Phone or Tablet
QR codeSlide35
Evaluate this sessionSlide36
© 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.