Upload
asher-lane
View
217
Download
0
Embed Size (px)
Citation preview
Microsoft Visual Studio 2012|Code TipsUsman ur Rehman AhmedAudience Marketing Manager (AMM), Microsoft Pakistan
Code Pointers
NAMEDREGIONS
DRAG & DROP CODE INTELLISENSE CTRL + SPACE
QUICK LAUNCH Ctrl + Q
PREVIEW TAB
SEARCH AND SYNC
CODE CLONE ANALYSIS
AUTO – IMPLEMENTED
PROPERTIES
GO TO DEFINITION
CODE MAP
SURROUND WITH
LINES OF CODE
DISPLAY NUMER OF LINES
ALL IN ONE CODE
FRAMEWORK
GO TO SPECIFIC LINE NUMBER
PASCAL CASE TYPING
METHOD NAMING
METHOD CHAINING
OFFLINE HELP
ALT + HIGHLIGHT
COMMENT CODE BLOCK
USE PHYSICAL KEYBOARD ON
EMULATOR
Equals(object);GetHashCode();
GetType();ToString();
# region
# endregion
– lets you specify a block of code that you can expand or collapse
– #region name– name is the name you want to give to
the region– The region block must be terminated
with a #endregion directive
NAMEDREGIONS
Paste Code Blocks in Toolbox
– You can reuse the code without having to type over and over again
– Place it in a toolbox under one of the sections or create your own one
– Drag and drop as required– It will now be available in all your
projects
DRAG & DROP CODE
Ctrl Key
– IntelliSense provides an array of options that make language references easily accessible.
– Auto - suggestions– Hold down the Ctrl key
to see through the code hidden behind the IntelliSense
INTELLISENSE
Solutions Explorer -> Search & Sync– Enter keyword to Search for
results within the project
SEARCH AND SYNC
– Sync Solutions Explorer to the currently active tab
Similar fragments of code
– Separate fragments of code that are very similar
– Find clones and refactor them– Find clones of a specific
fragment or find all clones in your solution
CODE CLONE ANALYSIS
Double Click a Clone Entry
Code Clones in Entire Solution
– "Analyze solution for Code Clones" is only available in Ultimate and Premium editions of Visual Studio 2012
What is Found?
• Renamed Identifiers• Insert and delete
statements added• Rearranged statements
What is Not Found?
• Type declarations are not compared
• Analyze Solution for Code Clones will not find clones that are less than 10 statements long. However, you can apply Find matching clones in solution to shorter fragments
• InitializeComponent methods
PROP / PROPFULL
– prop• public string Name{get; set;}
– propfull• private string _Name;
public string Name {
get { return _Name; } set { _Name=value; } }
AUTO – IMPLEMENTED
PROPERTIES
Seeing is Believing
– Visualize Code– Point and click your way through
complex code hierarchy
CODE MAP
One Job for One Method
– There should be only one job for one method
– Ideally, seven to thirty lines of code in one method
LINES OF CODE
Group related code together
– Code related to one instance should be together
– E.g. properties related to one TextBlock should be together
ALL IN ONE CODE
FRAMEWORK
Ctrl + g
– Specify the line number– You will be jumped to that line
automatically
GO TO SPECIFIC LINE NUMBER
Pascal Case Methods
– Type initials of every pascal case methods
– E.g. BookAnotherFlight will be accessible by BAF
PASCAL CASE TYPING
Noun-Verb Convention
– Use verbs or verb cases to name methods
– Verbs describe the action– Use Pascal Case
• RemoveAll() • GetCharArray() • GroupedItem()
METHOD NAMING
Invoke Multiple Method Calls
– Core concept behind it is to allow for better readability
– Reduces the amount of code
METHOD CHAINING
Offline Help Content
– Help ->– Set Help Preferences ->– Launch in Help Viewer
– Help -> View Help
OFFLINE HELP
Comment Chunks of Code
–COMMENT:• Ctrl + KC
–UNCOMMENT:• Ctrl + KU
– /// <summary>
COMMENT CODE BLOCK
OBJECT Class
– Ultimate base class of all classes, all classes derived from it (parent class of every other class)
– Inheritance not required to be declared as it is implicit.– FOUR methods of OBJECT class available by default in a class’s
object• Equals(Object) – Determines whether the specified object is
equal to the current object.• GetHashCode() – Generates a number corresponding to the
value of the object to support the use of a hash table.• GetType() – Gets the Type of the current instance.• ToString() – Returns a string that represents the current
object.
Equals(object);GetHashCode();
GetType();ToString();