Presentation is loading. Please wait.

Presentation is loading. Please wait.

How Effective Our Dev Tools Are?

Similar presentations


Presentation on theme: "How Effective Our Dev Tools Are?"— Presentation transcript:

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

2 How to estimate dev tools value?
How to estimate dev tools value?

3 Numbers Intuition

4 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.

5 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.

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

7 { 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.

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

9 { 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.

10 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”.

11 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.

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

13 { 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

14

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

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


Download ppt "How Effective Our Dev Tools Are?"

Similar presentations


Ads by Google