Git Product home page Git Product logo

kalibro_configurations's Issues

Error on setup script for tmp dir

The setup script tries to touch the file tmp/restart.txt. However, it does not check if the tmp dir already exists, breaking the script if that is the case.

Range overlapping validation doesn't work

It is broken since it does metric_configuration.kalibro_ranges.each, but that yields an empty list. It's necessary to call the all method before calling each, so it will actually check existing ranges correctly.

Problem when running setup script

The setup script does not create the test database and it assumes that it is already created. Therefore, it is necessary to manually run:

RAILS_ENV=test ./bin/setup

Maybe the setup script should also run this step as well.

Ranges for Lines of Code on Radon?

How can we decide the thresholds for the ranges of the LOC metric on Radon?
Using the same values as Analizo does not seem good.
@marcheing and I have found that the file with highest LOC value on the python 3 standard library is somewhere between 4 and 5 thousand.
Any ideas?

Weight can't be zero

Can't we redefine this validation? In some cases, having weight equal to zero may be useful.
For example, the blank lines metric from Radon, since it does not have any meaning by itself. Is only means something when compared to the total number of lines. Therefore, assigning a range for it may be confusing.

Convert KalibroRange boundaries properly from strings

Currently the JSON serialization converts from Float to String, but the opposite direction is never done. This causes Infinities to be converted to 0 sometimes, or comparisons to do strange things instead of working correctly.

Persist MetricConfiguration Snapshots

Since we allow metric configuration updates, it would be a good idea to persist metric configuration snapshots.
That would avoid inconsistencies when processing a repository.

For example, if one changes the script of a compound metric configuration, that metric's meaning would not be the same on different metric configuration snapshots.

Wrong response codes

ReadingGroupsController is returning unprocessable_entities instead of not_found status when resources do not exists.

This raises many KalibroClient::Errors::RequestError on Prezento.

Ranges vary accordingly to the granularities

The meaningful way to aggregate the metric Lines of code is by the sum. But it is hard to produce meaninfu ranges with this aggregation form once or the values are too loose for METHODS and CLASSES but correct for SOFTWARE. Or the range interval is too smal for the SOFTWARE granularity and correct for the CLASS and METHODS.

In order to address this, we need to provide ranges that may vary accordingly to the granularity.

More statistics about configurations

Currently, we only calculate the relation between a given metric and all the metric configurations.

We could present even more useful information if we had more statistics on the data we have stored. In this direction, we could aim to answer the following questions:

  • What are the most used metrics?
  • For each metric used, what are the most used ranges?
  • What are the differences and similarities between the metrics and ranges used across the supported programming languages?
  • What types of metrics are most used on the supported programming languages? Security, structural, hotspot metrics, etc?

MetricConfigurations with no ranges

There some metrics that are supposed to be part of compound ones. Those have no meaning by themselves and should not affect the project grade.

So it would be useful to have a special case of MetricConfiguration with no ranges and so that KalibroProcessor do not try to interpretate nad incorporate in the grade.

Replace webrick by puma

The default rails server is getting used by the packaged distributions. Thus it is using webrick which is known to not be able to handle large loads os requests. Rails 5 already feature puma as the default webserver.

Here we want to:

  • Install puma
  • Configure puma

This might fix huge delays on mezuro.org.

Configuration language

Allow configurations to have a language associated.

This will enable automatic association of configurations to repositories accordingly to their main language.

Do we need the metric snapshot routes?

In what situations are we using the metric snapshot routes?

They need the metric snapshot id, but the user should not even know it.

If there are no use cases, maybe we should remove them.

Version of postgresql-server-dev on Readme

What is the version of the postgresql Indicated to use on development environment ? 9.1 or 9.3 ? The reason of question is because on the Readme of prezento the Indicated version is 9.3.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.