How Effective Our Dev Tools Are?

Slides:



Advertisements
Similar presentations
I Can Slack Off, My Code’s Compiling Comic and title care of XKCD.com.
Advertisements

Real World Development using OpenEdge Mobile – some advanced features Brian C. Preece Ypsilon Software Ltd
Simulation of End-of-Life Computer Recovery Operations Design Team Jordan Akselrad, John Marshall Mikayla Shorrock, Nestor Velilla Nicolas Yunis Project.
{ C# IDE Tips and Tricks for Visual Studio 2010 Kevin Pilch-Bisson C# IDE Dev Lead
Test-Driven Development With Visual Studio 2005 Erno de Weerd Info Support.
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
© FPT Software Code Review with VS © FPT Software Agenda What is Code review? Run Code analysis in VS 2012 Configuring Code Analysis rule set.
Web/App Performance How to keep you out of the News
Development Methodology N. Draper. Introduction Development Process Test driven development Continuous Integration –Automated build and test Trac Ticket.
DireXions – Your Tool Box just got Bigger PxPlus Version Control System Using TortoiseSVN Presented by: Jane Raymond.
Improving the Quality of Existing Code Svetlin Nakov Telerik Corporation
Refactoring Deciding what to make a superclass or interface is difficult. Some of these refactorings are helpful. Some research items include Inheritance.
Refactoring for Testability (or how I learned to stop worrying and love failing tests) Presented by Aaron Evans.
1 CSC/ECE 517 Fall 2010 Lec. 3 Overview of Eclipse Lectures Lecture 2 “Lecture 0” Lecture 3 1.Overview 2.Installing and Running 3.Building and Running.
Refactoring. Refactoring Overview  What is refactoring?  What are four good reasons to refactor?  When should you refactor?  What is a bad smell (relative.
REFACTORINGREFACTORING. Realities Code evolves substantially during development Requirements changes 1%-4% per month on a project Current methodologies.
Object Oriented Programing (OOP)
TimeClock Plus UPDATES & ENHANCEMENTS. TCP Version 7 Beta version now being tested Compatible with Apple and mobile devices Different look and numerous.
UHCS 2005, slide 1 About Continuous Integration. UHCS 2005, slide 2 Why do you write Unit Test ? Improve quality/robustness of your code Quick feedback.
“I’m hacking it!”.  Imagine that you’re hacking away on a web app that uses the Wicket web framework. You want to know how to create a form so that the.
Version Control and SVN ECE 297. Why Do We Need Version Control?
Marco Cattaneo, 26-Jan LHCb OO course  Format of course Current format Can we improve?  Some messages from the course Very selective What I still.
1 C# - Inheritance and Polymorphism. 2 1.Inheritance 2.Implementing Inheritance in C# 3.Constructor calls in Inheritance 4.Protected Access Modifier 5.The.
Module 9. Dealing with Generalization Course: Refactoring.
Jump-Start WDSc-RSE by Robert Arce from PrismaTech. Jump-Start WDSc-RSE Presented by: Robert Arce.
Benjamin Unit Testing & Test-Driven Development for Mere Mortals.
Java IDE Dwight Deugo Nesa Matic
Template Package  Presented by G.Nagaraju.  What is Template Package?  Why we use Template Package?  Where we use Template Package?  How we create.
Ognjen Bajić Ana Roje Ivančić Ekobit Efficient Application Testing.
1 © Agitar Software, 2007 Automated Unit Testing with AgitarOne Presented by Eamon McCormick Senior Solutions Consultant, Agitar Software Inc. Presented.
Catalog of Refactoring
XINFO HORIZONT Scheduler migration support Software for Datacenters
Chris Gavanas 31/08/2016 Summer Student Report.
Agile Metrics that Matter
Module Road Map Refactoring Why Refactoring? Examples
/* LIFE RUNS ON CODE*/ Konstantinos Pantos Microsoft MVP ASP.NET
Tools for Performance, Load Testing, Stress Testing Using Telerik Test Studio Pavel Pankov QA Lead Automated Testing Team Telerik QA Academy.
Chapter 18 Maintaining Information Systems
The Case of the Limitless DBA
A Very Common Series of Techniques
T Project Review Group: pdm I2 Iteration
Lecture 25 More Synchronized Data and Producer/Consumer Relationship
Experience with jemalloc
C# Programming: From Problem Analysis to Program Design
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Unit Testing & Test-Driven Development for Mere Mortals
Build /21/2018 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Skill Based Assessment
Myths About Web Application Security That You Need To Ignore.
How to Fix Norton Antivirus Sonar Protection Error.
Quick Start Guide for Visual Studio 2010
Unit Testing & Test-Driven Development for Mere Mortals
Overview of Eclipse Lectures
SQA for Individuals based on
Learn. Imagine. Build. .NET Conf
BASIC SOFTWARE MAINTENANCE
ReSharper Dainius Kreivys.
Cost Xpert Group Copyright © 2001, Marotz, Inc..
Quality Measurable characteristic Cyclomatic complexity Cohesion
MetaAutomation Matt Griscom October 8th, 2018
Unit Testing & Test-Driven Development for Mere Mortals
Fundaments of Game Design
Developing and testing enterprise Java applications
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
DEV322 Visual Studio 2005 C# IDE Enhancements
Dotri Quoc†, Kazuo Kobori†, Norihiro Yoshida
Project Iterations.
Hello World Program In Visual Studio and Debugging
Testing Slides adopted from John Jannotti, Brown University
Presentation transcript:

How Effective Our Dev Tools Are? Alexander Laptev “Devbridge Group”

How to estimate dev tools value? “ How to estimate dev tools value?

Numbers Intuition

Experience indicates we don’t know how to gather/process numbers. “ Experience indicates we don’t know how to gather/process numbers. Usually we estimate instruments based on intuition.

SonarCube I spend: 15 s on each IntellijIDEA run 15 s on each commit. Total:. 1-2 min per day 5 devs => 10 min per day 22 days x 10 = 220 minutes => ~4 hours per month => ~350$ per month.

{ R# } Helps with refactorings. Highlights potential errors. Must have. Slow on large projects.

{ R# } value Implement it manually (1 min). Select “popular” refactoring in your project. My pick – interface implementation. Implement it manually (1 min). Estimate how often do you use this refactoring (per day). Do it for 10 most popular actions: Rename, Extract Method, Introduce/Inline Variable, Move refactorings, Safe Delete, Generate Constructor, Generate Overriding Members, Change Signature, Adjust Namespaces, Pull Members Up, Remove Unused References, Extract Interface, Encapsulate Field, and Generate Implementing Members. Sum your estimations. My rough sum is 5 min per day.

{ CodeRush for Roslyn (CRR) } Intuition tells The same with R#. A few features less. Less latency on typing. High on-bug reaction.

{ CRR } vs { R# }: how to compare? Price. Obvious. Integration time (install + configuration): use default. Time spent on a solution load. R#: 15 sec, CodeRush: 5 sec. Development improvement: the same. Development degradation: can not be estimated.

Intuition tells Too many spam. { PVS-Studio } Appropriate for large (250k LoC) solutions. Appropriate for solutions with large cost of error. Finds logical errors: return str != “1” || str != “2”.

What the numbers tell us? { PVS-Studio } What the numbers tell us? Requires some time for report analysis, (5 minutes per day). Report is provided only after a build. Requires time for integration (learning), one week. Utility for devs saves time for QA.

{ Roslyn } Intuition tells Cool. API to the compiler, integration with IDE. You can write your own analyzers\diagnostics.

{ Roslyn } Numbers show Well estimated: You have to write analyzer if (errors-qty * time-to-fix) > 2 days. Non-estimated profit: forced team agreements. You can prevent errors in critical parts of the app: public class InMemoryCache<TeraByteTable> return myBankPrice == centralBankPrice

{Code-maat} A great counter-example for “numbers” estimations: doesn’t provide any measurable profit at all, but still useful.

Alexander Laptev alexander.laptev@devbridge.com Thank you! Alexander Laptev alexander.laptev@devbridge.com