2012 Q1 Tools for Better Code


Published on

We have many exciting features to introduce for Just products in 2012 Q1. JustCode gains LINQ conversions, enhancements to the test runner, and support for QUnit and Jasmine. JustTrace makes it easier to find memory hogs with the Largest Memory Retainers view. JustMock gets a codeActivity workflow activity for Team Build. Finally, JustDecompile is officially out of beta!

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Welcome to the Q1 2012 webinar for Tools for Better Code. This webinar covers the newest in our Just product suite: JustCode, JustMock, JustTrace, and JustDecompile.
  • The guy you hear on the other end is none other than Chris Eargle, Just Evangelist and the blogger at kodefuguru.com. You can find me on twitter @kodefuguru, or email me after the show at chris.eargle@telerik.com.
  • If watching this live, good news! You’re eligible to win an Ultimate Collection license, containing all our development tools and more. The winner will be announced on Twitter and Facebook by 2pm eastern time today, and we’ll email the winner within 48 hours.
  • We have even more ways for you to win prizes. First, be sure to follow @Telerik on Twitter. Then, write a tweet starting with “I love #Telerik” , for example, I love #Telerik for making a free decompiler, before February 23rd.
  • We’re right in the middle of a busy week. After this webinar is What’s New in Mobile, and tomorrow you will not want to miss the cool stuff going on with Kendo UI. Afterwards are sessions on our content management system, Sitefinity, and our Agile Team platform, TeamPulse.
  • Let’s jump right in with JustDecompile, our tool for better insight.
  • JustDecompile has been in beta for nearly a year now. We just added a brand new decompilation engine that’s more powerful than ever before, and we decided to mark the occasion by making JustDecompile official! No worries, it’s still free. Go download the new version today! Starting February 20th, we are giving away 5 prize packs per day until February 29th to random lucky winners that have installed the new version.
  • The prize pack contacts several items of swag, but the coolest one of all is this Decompiled .NET Ninja t-shirt. They are so rare, I don’t even have one, and trust me, I have a Telerik wardrobe.
  • As I stated a few moments ago: we’ve replaced the decompilation engine. The new engine provides better performance and accuracy than ever before, and it will enable new features requested on our User Voice.
  • JustDecompile has evolved a lot since its initial beta release last year, and this was due to feedback we received from the community on our user voice. It’s now easier than ever to leave feedback, as we’ve added a shortcut to the main menu.
  • We’ve added
  • We’ve made many improvements to the user experience with this release. The main menu is more intuitive, and you can easily expand all members by double-clicking in the tree.
  • Next is JustCode, our tool for better productivity.
  • The decompiler in JustCode is basically JustDecompile integrated into Justcode. Described more accurately, it’s two tools, one engine. JustDecompile had its engine replaced with one more powerful and accurate than ever before, andJustCode gets this as well.
  • JustCode keeps your code clean, and we’ve added the capability to enforce naming conventions as part of the Code Style feature. There are seven types of rules you can apply, such as camel case, pascal case, or even the C++ constant naming convention, upper_underscore.
  • When a rule is violated, JustCode will show a warning and suggest a name.
  • The quick fix menu will give you the option to rename per the suggestion based upon the appropriate rule.
  • There are times where you may need two types of naming conventions. One example is when mixing C# and C++ constant naming conventions. We provide a way to handle this scenario with secondary rules.
  • The defined naming conventions are used when generating code, such as creating a property from a field. In this example, the property naming rule is defined as upper_underscore. When generating the property for this unused field, it names it accordingly.
  • We added more features to code formatting such as new wrap settings. We’ve also split the XML code style settings into three parts: XML, XAML, and HTML to give you more flexibility with your solutions.
  • Looking for a type but don’t know the namespace? Press ctrl+alt+shift to bring every available type, whether or not the namespace has been referenced. Start typing the name to find what you’re looking for.
  • New options have been added for the Visual Aid, and a Visual Aid options menu contains all options in one location. We’ve added new options as well, marking a clear distinction between mouse and keyboard modes. JustCode supports both, at the same time, and the behavior can be modified based upon the way in which the Visual Aid was invoked.
  • Do you want to quickly switch between LINQ and loops? With the new LINQ conversions, you can quickly convert from query expressions to foreach loops or the extension method syntax. You can transform a foreach loop back into the LINQ extension method syntax.
  • Support for NUnit and MbUnit has been expanded to cover a few new attributes used in these testing frameworks
  • But the big news is we added support for QUnit and Jasmine! Now you can run your .NET and your JavaScript unit tests from one test runner.
  • The JustCode API has been available for a long time: you can think of the features you use in JustCode as extensions to it. You can now create your own JustCode extensions and place them under Libraries\\UserExtensions in the JustCode install directory.
  • To help you get started, we included a project template, C# JustCode Extension, found under Telerik.
  • Let’s talk about what’s new in JustMock, our tool for better unit tests.
  • The JustMock code activity workflow is designed to deploy your JustMock test projects to TFS 2010 with zero manual configurations for setting up your build environment. This frees you from tedious configuration of environment variables and provides you with simple options to get on the move in no time.
  • I have the new activities circled in this screenshot.
  • If you want to run JustMock outside of Visual Studio and integrate with non MSTest environments, you have to use JustMockRunner.exe. Previously we’ve sent it on demand as an external tool but from now on it is included in the JustMock installation / Libraries folder.
  • You can now automatically arrange virtual properties during object initialization set from constructor argument
  • How can you assert that a user is authenticated before doing withdraw operation? Certainly, you can verify a method is invoked as expected, but if you want to ensure the order right then you may require a little more. JustMock lets you specify the order in which your setups should be executed. This helps you identify the exact way in which particular logic is implemented.
  • The last product I will be speaking on today is JustTrace, our tool for better profiling.
  • The Largest Memory Retainers view is available for memory snapshots, and it shows objects with the largest retention size.
  • Dominators, also known as largest memory retainers, show which objects pressure memory. You can use this view for hints to reduce memory usage. It can also show memory leaks of individual objects, which is what we’ll be viewing in the demo.
  • In the Largest Memory Retainers view of JustTrace are listed dominator roots. The children of each node are the objects for which it is the immediate dominator. The following information is listed for each object: Class Name - fully classified name of the type.Retained Size - total memory allocated for all dominated objects in the subtree, including its own size.Own Size - memory allocated for the object.
  • We’ve added support for out of browser Silverlight applications, and viewing live data of Silverlight applications. However, when profiling a Silverlight project, live data will show only CPU Usage and Managed Heap Total Size, since .NET performance counters are not available. You need to be running the standalone profiler for this to work.
  • We’ve added a CHM help file.
  • Thanks, and remember to tweet “I love #Telerik”! Winner announcements will be made by 2pm eastern time. Download the newest releases from Telerik.com today! Now let’s go to questions.
  • 2012 Q1 Tools for Better Code

    1. 1. Tools for Better CodeJustCode, JustMock, JustTrace, and JustDecompile facebook.com/telerik @telerik
    2. 2. Presenting…Chris EargleJust* Evangelistkodefuguru.com@kodefuguruchris.eargle@telerik.com
    3. 3. License Giveaway• Live webinar attendees are eligible to win an Ultimate Collection license (worth $1,999)• Winner will be announced on Twitter & Facebook within 2 hours• Winner will also be emailed within 48 hours.
    4. 4. Twitter Contest• Tweet about us, starting with “I love #Telerik” and then mention your favorite thing about Telerik – product, feature, support, etc.• Follow @Telerik on Twitter• Tweet before February 23rd• The winner will be announced via Twitter and Facebook and emailed on February 23rd
    5. 5. Webinar ScheduleMon, Feb 20 9:30 a.m. - 10:30 a.m. What’s New in XAML - RadControls for Silverlight and WPF 11:00 a.m. - 12:00 p.m. What’s New in Test Studio 12:30 p.m. - 1:30 p.m. What’s New in Data Tools – OpenAccess ORM 2:00 p.m. - 2:30 p.m. What’s New in RadControls for WinForms and ReportingTues, Feb 21 9:30 a.m. - 10:30 a.m. What’s New in ASP.NET 11:00 a.m. - 12:00 p.m. What’s New in Tools for Better Code 12:30 p.m. - 1:30 p.m. Whats New in Mobile - RadControls for Windows PhoneWed, Feb 22 9:30 a.m. - 10:30 a.m. What’s new in KendoUI 11:00 a.m. - 12:00 p.m. What’s new in Sitefinity 5.0 12:30 p.m.- 1:30 p.m. What’s new in TeamPulse
    6. 6. JustDecompileBetter Insight
    7. 7. JustDecompile Official ReleaseBrand new decompilation engine with newfeatures and better decompilation outputWill remain as always, 100% freeInstall JustDecompile by Feb. 29 for a chance towin one of 50 prize packs
    8. 8. New EngineBetter DecompilationWill Enable More Features
    9. 9. FeedbackEasy access from the main menujustdecompile.uservoice.com
    10. 10. Full Text SearchPress Ctrl+FSearch for any text within an assembly
    11. 11. UI ImprovementsMore intuitive Main MenuDouble-click in tree expands all membersDouble-click to show embedded resourceNew context menu for type/member definitions
    12. 12. JustCodeBetter Productivity
    13. 13. DecompilerTwo Tools, One EngineThe same engine inJustDecompile is in JustCode.Both were upgraded.
    14. 14. Naming ConventionsEnforce Naming ConventionscamelCase Sentence_underscorePascalCase PascalCase_UnderScoreUPPER_UNDERSCORE camelCase_underscorelower_underscore
    15. 15. Naming Conventions
    16. 16. Naming Conventions
    17. 17. Naming Conventions
    18. 18. Naming Conventions
    19. 19. Code Formatter FeaturesNew Wrap Settings Split XML Settings XML XAML HTML
    20. 20. Type Code Completionctrl+alt+spaceShows all available typeswhether referenced ornot.
    21. 21. Visual AidMore customizableTwo modes: Mouse Keyboard
    22. 22. Linq Conversions
    23. 23. Test RunnerNunit MbUnitTheoryAttribute TestFixtureAttribute RowAttribute StaticTestFactoryAttribute DynamicTestFactoryAttribute
    24. 24. Test RunnerSupport for: QUnit Jasmine
    25. 25. JustCode ExtensionsOpened APIPicks up extensions from[JustCodeFolder]LibrariesUserExtensions
    26. 26. JustCode Extensions
    27. 27. JustMockBetter Unit Tests
    28. 28. Code Activity WorkflowOne stop deployment on TFS
    29. 29. Code Activity Workflow
    30. 30. JustMock RunnerJustMockRunner.exe in the Libraries folderRun JustMock outside of Visual StudioIntegrate with non-MSTest environments
    31. 31. Auto Arrange Virtual Properties
    32. 32. In Order Over InstancesSpecify order in which setups should be executed.Important for dependent steps.
    33. 33. JustTraceBetter Profiling
    34. 34. Largest Memory RetainersFind objects that retain other objects, preventing garbagecollection.Dominator – an object that prevents GC of another object.Dominator root – an object that has no dominators.
    35. 35. Largest Memory RetainersDominators show which objects pressure memoryUse this view for hints to reduce memory usageFind memory leaks on individual objects
    36. 36. Largest Memory Retainers
    37. 37. SilverlightProfiling of Out of Browser Silverlight applicationsLive data for Silverlight applications in Live Data View
    38. 38. DocumentationCHM help available
    39. 39. Thank You• Remember to Tweet “I love #Telerik”• Watch us on Twitter & Facebook for winner announcements• Download the Q1 2012 release at www.telerik.com