Presentation is loading. Please wait.

Presentation is loading. Please wait.

Industrial Programming

Similar presentations


Presentation on theme: "Industrial Programming"— Presentation transcript:

1 Industrial Programming
ITF NET Industrial Programming

2 Industrial Programming
Guidelines Development Guidelines UX Guidelines Quality Measures Code Metrics Code Analyses Robustness Error handling (exceptions) Resource handling

3 Guidelines Design Guidelines for Developing Class Libraries ( Guidelines for Names Capitalization Conventions ( Member Design Guidelines Choosing Between Properties and Methods ( Documentation of code

4 Documentation of code Documentable Entities
Class / Struct Method Cannot document Namespace through XML tag Shows up in Object Browser Intellisense Library Documentation

5 Documentation of code (cont.)
XML tags ( summary param example code exception returns GhostDoc

6 Guidelines Design Guidelines for Developing Class Libraries ( Guidelines for Names Capitalization Conventions ( Member Design Guidelines Choosing Between Properties and Methods ( Documentation of code UX Guidelines

7 UX Guidelines Windows Size Resizing must work! Clean layout Shortcuts
Default Min Max Resizing must work! Clean layout Shortcuts Tab-order

8 Industrial Programming
Guidelines Development Guidelines UX Guidelines Quality Measures Code Metrics Code Analyses Robustness Error handling (exceptions) Resource handling

9 Code Metrics Cyclomatic complexity Class Coupling Lines of Code
Structural complexity of code Calculates number of different code paths High values requires more unit tests to cover all paths Class Coupling Measures the Efferent Coupling, the number of classes this method depends on High coupling means brittle, likely to change, probably unfocused and lack of responsibility Lines of Code Based on IL, so approximate, but better than source Excludes white space, comments, braces, types etc.

10 Code Metrics (cont.) Maintainability Index:
A weighted number based on Halstead volume, cyclomatic complexity and lines of code Maintainability Index = MAX(0,( * ln(Halstead Volume) * (Cyclomatic Complexity) * ln(Lines of Code))*100 / 171) A green rating is between 20 and 100 and indicates that the code has good maintainability. A yellow rating is between 10 and 19 and indicates that the code is moderately maintainable. A red rating is a rating between 0 and 9 and indicates low maintainability.

11 Code Metrics Use MS official sample
Green Yellow Red Maintainability Index 100-60 60-40 <40 Cyclomatic complexity <10 10-20 >20 Class Coupling Lines of Code 10-30 >30 Use MS official sample “Image slideshow in full screen mode” (

12 Code Metrics – VS 2010

13 Code Metrics – Excel

14 Code Analyses Rule Set Rule Action Automatic / Manual execution
Use from Start

15 Code Analyses - Settings

16 Code Analyses – Results/Fix

17 Code Analyses – Requirements
Microsoft Minimum Recommended Rules +Microsoft.Naming (All) HiOf.Net.ruleset

18 Industrial Programming
Guidelines Development Guidelines UX Guidelines Quality Measures Code Metrics Code Analyses Robustness Defensive Programming Error handling (exceptions) Resource handling

19 Defensive Programming
Handle anticipated deviations Missing Directory / File Lack of database connectivity Lost database connection Verify input data Do not let the user enter erroneous data Guard against SQL injection Use SQL procedures / bind variables

20 Error handling

21 Exceptions Do not throw System.Exception Inherit from System.Exception
End with Exception

22 Exceptions Exception handling Throwing exceptions Exception info
Message InnerException Library code rethrows/do not catch Clients shall handle exceptions

23 Resource handling


Download ppt "Industrial Programming"

Similar presentations


Ads by Google