Example #1
0
File: SQI.cs Project: halllo/MTSS12
 private void SetCommonKnowledge(PreparedMetricsReport metrics)
 {
     sqiParameters.Classes = metrics.CommonKnowledge.NumberOfTypes;
     sqiParameters.Methods = metrics.CommonKnowledge.NumberOfMethods;
     sqiParameters.Namespaces = metrics.CommonKnowledge.NumberOfNamespaces;
     sqiParameters.Rloc = metrics.CommonKnowledge.RelevantLinesOfCode;
 }
Example #2
0
 private void SetCommonKnowledge(PreparedMetricsReport metrics)
 {
     sqiParameters.Classes    = metrics.CommonKnowledge.NumberOfTypes;
     sqiParameters.Methods    = metrics.CommonKnowledge.NumberOfMethods;
     sqiParameters.Namespaces = metrics.CommonKnowledge.NumberOfNamespaces;
     sqiParameters.Rloc       = metrics.CommonKnowledge.RelevantLinesOfCode;
 }
Example #3
0
File: SQI.cs Project: halllo/MTSS12
 protected override void AnalysisFinished(PreparedMetricsReport metrics)
 {
     SetCommonKnowledge(metrics);
     SetReportParameters(metrics);
     SetDetailParameters();
     AddToSqiHistory();
 }
Example #4
0
 protected override void AnalysisFinished(PreparedMetricsReport metrics)
 {
     SetCommonKnowledge(metrics);
     SetReportParameters(metrics);
     SetDetailParameters();
     AddToSqiHistory();
 }
Example #5
0
 private void SetFooter(PreparedMetricsReport metrics)
 {
     Rloc = string.Format("{0} Relevant Lines Of Code", metrics.CommonKnowledge.RelevantLinesOfCode);
     Changed(() => Rloc);
     LastMetricsTime = string.Format("  ({0})", DateTime.Now.ToShortTimeString());
     Changed(() => LastMetricsTime);
 }
Example #6
0
 private void SetReportParameters(PreparedMetricsReport metrics)
 {
     _NamespacesInCycles.Value         = SqiParameterType.Number(metrics.NumberOfNamespacesInCycleHotspots.Count());
     _ComplicatedMethods.Value         = SqiParameterType.Number(metrics.Hotspots.OfCyclomaticComplexityOver(5).Count());
     _AverageComponentDependency.Value = SqiParameterType.Percentage(metrics.Rated.AverageComponentDependency);
     _BigClasses.Value = SqiParameterType.Number(metrics.Hotspots.OfClassSizeOver(20).Count());
     _BigMethods.Value = SqiParameterType.Number(metrics.Hotspots.OfMethodLengthOver(15).Count());
 }
Example #7
0
 private void SetCyclomaticComplexity(PreparedMetricsReport metrics)
 {
     _CyclomaticComplexity.Update(
         metrics.Rated.AverageRatedCyclomaticComplexity,
         metrics.CommonKnowledge.NumberOfMethods,
         metrics.CyclomaticComplexityHotspots.Count(),
         metrics.CyclomaticComplexityHistogram.GeometricalFit.Parameter);
 }
Example #8
0
        protected override void AnalysisFinished(PreparedMetricsReport metrics)
        {
            NamespacesGraph = NamespaceGraph(metrics);
            Changed(() => NamespacesGraph);

            TypesGraph = TypeGraph(metrics);
            Changed(() => TypesGraph);
        }
Example #9
0
 private void SetACD(PreparedMetricsReport metrics)
 {
     _AverageComponentDependency.Update(
         metrics.Rated.AverageComponentDependency,
         metrics.CommonKnowledge.NumberOfTypes,
         metrics.CumulativeComponentDependencyHotspots.Count(),
         metrics.CumulativeComponentDependencyHistogram.GeometricalFit.Parameter);
 }
Example #10
0
 private ViewHub()
 {
     metricsFactory       = new PreparedMetricsFactory();
     AnalysisStarted     += () => analysisReady = false;
     MetricsReady        += m => analysisReady = true;
     MetricsReady        += m => MostRecentMetrics = m;
     ShouldUseParallelism = () => false;
 }
Example #11
0
 private void SetNamespacesWithCycles(PreparedMetricsReport metrics)
 {
     _NamespacesWithCycles.Update(
         metrics.Rated.NamespacesWithCyclicDependencies,
         metrics.CommonKnowledge.NumberOfNamespaces,
         metrics.NumberOfNamespacesInCycleHotspots.Count(),
         metrics.NumberOfNamespacesInCycleHistogram.GeometricalFit.Parameter);
 }
Example #12
0
 private void SetNumberOfNonStaticPublicFields(PreparedMetricsReport metrics)
 {
     _NonStaticPublicFields.Update(
         metrics.Rated.AverageRatedNumberOfNonStaticPublicFields,
         metrics.CommonKnowledge.NumberOfTypes,
         metrics.NumberOfNonStaticPublicFieldsHotspots.Count(),
         metrics.NumberOfNonStaticPublicFieldsHistogram.GeometricalFit.Parameter);
 }
Example #13
0
 private void SetMethodLength(PreparedMetricsReport metrics)
 {
     _MethodLength.Update(
         metrics.Rated.AverageRatedMethodLength,
         metrics.CommonKnowledge.NumberOfMethods,
         metrics.MethodLengthHotspots.Count(),
         metrics.MethodLengthHistogram.GeometricalFit.Parameter);
 }
Example #14
0
        private static BidirectionalGraph <object, IEdge <object> > TypeGraph(PreparedMetricsReport metrics)
        {
            var graph = new BidirectionalGraph <object, IEdge <object> >(false);

            graph.AddVertexRange(metrics.Report.TypeGraph.Vertices.Select(v => v.FullName));
            graph.AddEdgeRange(metrics.Report.TypeGraph.Edges.Select(e => new Edge <object>(e.Item1.FullName, e.Item2.FullName)));
            return(graph);
        }
Example #15
0
        protected override void AnalysisFinished(PreparedMetricsReport metrics)
        {
            var graph    = GetTypeGraph(metrics);
            var cycles   = graph.Cycles();
            var cycleVMs = GetViewModels(metrics, cycles);

            Display(cycleVMs);
        }
Example #16
0
 private void SetClassSize(PreparedMetricsReport metrics)
 {
     _ClassSize.Update(
         metrics.Rated.AverageRatedClassSize,
         metrics.CommonKnowledge.NumberOfTypes,
         metrics.ClassSizeHotspots.Count(),
         metrics.ClassSizeHistogram.GeometricalFit.Parameter);
 }
Example #17
0
 protected override void AnalysisFinished(PreparedMetricsReport metrics)
 {
     Dispatch(ClearLists);
     Dispatch(() => SetClassSizes(metrics.ClassSizeHotspots, metrics.Report));
     Dispatch(() => SetCumulativeComponentDependencies(metrics.CumulativeComponentDependencyHotspots, metrics.Report));
     Dispatch(() => SetCyclomaticComplexities(metrics.CyclomaticComplexityHotspots, metrics.Report));
     Dispatch(() => SetMethodLengths(metrics.MethodLengthHotspots, metrics.Report));
     Dispatch(() => SetNamespacesInCycle(metrics.NumberOfNamespacesInCycleHotspots, metrics.Report));
     Dispatch(() => SetNonStaticPublicFields(metrics.NumberOfNonStaticPublicFieldsHotspots, metrics.Report));
 }
Example #18
0
        private static IGraph <TypeMetricsReport> GetTypeGraph(PreparedMetricsReport metrics)
        {
            var graph         = metrics.Report.TypeGraph.Clone();
            var typesToIgnore = graph.Vertices.Where(t => t.CompilerGenerated).ToList();

            foreach (var type in typesToIgnore)
            {
                graph.Ignore(type);
            }
            return(graph);
        }
Example #19
0
 protected override void AnalysisFinished(PreparedMetricsReport metrics)
 {
     Dispatch(ClearLists);
     ClassSizesText = Fit(HistogramOf(ClassSizes, metrics.ClassSizeHistogram));
     CumulativeComponentDependenciesText = Fit(HistogramOf(CumulativeComponentDependencies, metrics.CumulativeComponentDependencyHistogram));
     CyclomaticComplexitiesText          = Fit(HistogramOf(CyclomaticComplexities, metrics.CyclomaticComplexityHistogram));
     MethodLengthsText         = Fit(HistogramOf(MethodLengths, metrics.MethodLengthHistogram));
     NamespacesInCycleText     = Fit(HistogramOf(NamespacesInCycle, metrics.NumberOfNamespacesInCycleHistogram));
     NonStaticPublicFieldsText = Fit(HistogramOf(NonStaticPublicFields, metrics.NumberOfNonStaticPublicFieldsHistogram));
     ChangeAllTexts();
 }
Example #20
0
 private void OnAnalysisFinished(PreparedMetricsReport m)
 {
     if (m != null)
     {
         AnalysisFinished(m);
     }
     Dispatch(() =>
     {
         AnalysisRunning = false;
         Changed(() => AnalysisRunning);
     });
 }
Example #21
0
 protected override void AnalysisFinished(PreparedMetricsReport metrics)
 {
     ChangedMethods = metrics.ChangedMethods;
     Dispatch(() =>
     {
         SetACD(metrics);
         SetClassSize(metrics);
         SetCyclomaticComplexity(metrics);
         SetMethodLength(metrics);
         SetNumberOfNonStaticPublicFields(metrics);
         SetNamespacesWithCycles(metrics);
         SetFooter(metrics);
     });
 }
Example #22
0
 protected override void AnalysisFinished(PreparedMetricsReport metrics)
 {
     ChangedMethods = metrics.ChangedMethods;
     Dispatch(() =>
     {
         SetACD(metrics);
         SetClassSize(metrics);
         SetCyclomaticComplexity(metrics);
         SetMethodLength(metrics);
         SetNumberOfNonStaticPublicFields(metrics);
         SetNamespacesWithCycles(metrics);
         SetFooter(metrics);
     });
 }
Example #23
0
 private static IEnumerable <TypeCycle> GetViewModels(PreparedMetricsReport metrics, StronglyConntectedComponents <TypeMetricsReport> cycles)
 {
     return(from cycle in cycles.All
            where cycle.VertexCount > 1
            orderby cycle.VertexCount descending
            select new TypeCycle
     {
         DisplayName = string.Format("{0} classes", cycle.VertexCount),
         TypesInCycle = from type in cycle.Vertices
                        select new Type
         {
             DisplayName = type.FullName,
             ReferencedTypes = from referencedType in type.InterestingDirectDependencies.Intersect(cycles.OfVertex(type).Vertices.Select(t => t.FullName))
                               where type.FullName != referencedType
                               select new TypeReferenceVM(metrics, type, referencedType)
         }
     });
 }
Example #24
0
 private void SetCyclomaticComplexity(PreparedMetricsReport metrics)
 {
     _CyclomaticComplexity.Update(
         metrics.Rated.AverageRatedCyclomaticComplexity,
         metrics.CommonKnowledge.NumberOfMethods,
         metrics.CyclomaticComplexityHotspots.Count(),
         metrics.CyclomaticComplexityHistogram.GeometricalFit.Parameter);
 }
Example #25
0
 protected override void AnalysisFinished(PreparedMetricsReport metrics)
 {
     this.metrics = metrics;
     FillTypeCollection();
 }
Example #26
0
 protected abstract void AnalysisFinished(PreparedMetricsReport metrics);
Example #27
0
 private void SetClassSize(PreparedMetricsReport metrics)
 {
     _ClassSize.Update(
         metrics.Rated.AverageRatedClassSize,
         metrics.CommonKnowledge.NumberOfTypes,
         metrics.ClassSizeHotspots.Count(),
         metrics.ClassSizeHistogram.GeometricalFit.Parameter);
 }
Example #28
0
 private void SetACD(PreparedMetricsReport metrics)
 {
     _AverageComponentDependency.Update(
         metrics.Rated.AverageComponentDependency,
         metrics.CommonKnowledge.NumberOfTypes,
         metrics.CumulativeComponentDependencyHotspots.Count(),
         metrics.CumulativeComponentDependencyHistogram.GeometricalFit.Parameter);
 }
Example #29
0
 private void SetNumberOfNonStaticPublicFields(PreparedMetricsReport metrics)
 {
     _NonStaticPublicFields.Update(
         metrics.Rated.AverageRatedNumberOfNonStaticPublicFields,
         metrics.CommonKnowledge.NumberOfTypes,
         metrics.NumberOfNonStaticPublicFieldsHotspots.Count(),
         metrics.NumberOfNonStaticPublicFieldsHistogram.GeometricalFit.Parameter);
 }
Example #30
0
 protected override void AnalysisFinished(PreparedMetricsReport metrics)
 {
     base.AnalysisFinished(metrics);
     Dispatch(() => SetCumulativeComponentDependenciesText(metrics.CommonKnowledge));
 }
Example #31
0
File: SQI.cs Project: halllo/MTSS12
 private void SetReportParameters(PreparedMetricsReport metrics)
 {
     _NamespacesInCycles.Value = SqiParameterType.Number(metrics.NumberOfNamespacesInCycleHotspots.Count());
     _ComplicatedMethods.Value = SqiParameterType.Number(metrics.Hotspots.OfCyclomaticComplexityOver(5).Count());
     _AverageComponentDependency.Value = SqiParameterType.Percentage(metrics.Rated.AverageComponentDependency);
     _BigClasses.Value = SqiParameterType.Number(metrics.Hotspots.OfClassSizeOver(20).Count());
     _BigMethods.Value = SqiParameterType.Number(metrics.Hotspots.OfMethodLengthOver(15).Count());
 }
Example #32
0
 private void SetFooter(PreparedMetricsReport metrics)
 {
     Rloc = string.Format("{0} Relevant Lines Of Code", metrics.CommonKnowledge.RelevantLinesOfCode);
     Changed(() => Rloc);
     LastMetricsTime = string.Format("  ({0})", DateTime.Now.ToShortTimeString());
     Changed(() => LastMetricsTime);
 }
Example #33
0
 private void SetMethodLength(PreparedMetricsReport metrics)
 {
     _MethodLength.Update(
         metrics.Rated.AverageRatedMethodLength,
         metrics.CommonKnowledge.NumberOfMethods,
         metrics.MethodLengthHotspots.Count(),
         metrics.MethodLengthHistogram.GeometricalFit.Parameter);
 }
Example #34
0
 private void SetNamespacesWithCycles(PreparedMetricsReport metrics)
 {
     _NamespacesWithCycles.Update(
         metrics.Rated.NamespacesWithCyclicDependencies,
         metrics.CommonKnowledge.NumberOfNamespaces,
         metrics.NumberOfNamespacesInCycleHotspots.Count(),
         metrics.NumberOfNamespacesInCycleHistogram.GeometricalFit.Parameter);
 }
Example #35
0
 public TypeReferenceVM(PreparedMetricsReport metrics, TypeMetricsReport source, string target)
     : this(new TypeReference(metrics.Report, source, metrics.Report.ForType(target)))
 {
 }
Example #36
0
 public PreparedMetricsReport Prepare(MetricsReport metrics)
 {
     var preparedMetrics = new PreparedMetricsReport(metrics, _lastMetrics);
     _lastMetrics = metrics;
     return preparedMetrics;
 }