All Projects → Uko → QualityAssistant

Uko / QualityAssistant

Licence: MIT License
A live feedback code quality tool for Pharo

Programming Languages

smalltalk
420 projects
shell
77523 projects
HTML
75241 projects

Projects that are alternatives of or similar to QualityAssistant

python-test-reporter
DEPRECATED Uploads Python test coverage data to Code Climate
Stars: ✭ 18 (+5.88%)
Mutual labels:  quality
Buoy
A complement to Pharo
Stars: ✭ 18 (+5.88%)
Mutual labels:  pharo
RenoirSt
A DSL enabling programmatic cascading style sheet generation for Pharo Smalltalk
Stars: ✭ 19 (+11.76%)
Mutual labels:  pharo
NEAT
NEAT implementation in Pharo
Stars: ✭ 16 (-5.88%)
Mutual labels:  pharo
Grease
The Grease Portability Library
Stars: ✭ 12 (-29.41%)
Mutual labels:  pharo
fari.sh
fari.sh — fresh, ready-to-hack Pharo images
Stars: ✭ 12 (-29.41%)
Mutual labels:  pharo
symfony-lts-docker-starter
🐳 Dockerized your Symfony project using a complete stack (Makefile, Docker-Compose, CI, bunch of quality insurance tools, tests ...) with a base according to up-to-date components and best practices.
Stars: ✭ 39 (+129.41%)
Mutual labels:  quality
themes
A repository for alternative Pharo themes
Stars: ✭ 18 (+5.88%)
Mutual labels:  pharo
SDMetrics
Metrics to evaluate quality and efficacy of synthetic datasets.
Stars: ✭ 67 (+294.12%)
Mutual labels:  quality
libtensorflow-pharo-bindings
TensorFlow library bindings for Pharo
Stars: ✭ 30 (+76.47%)
Mutual labels:  pharo
Microdown
Microdown is a cleaned and simpler markdown but with more powerful features such as extensions.
Stars: ✭ 26 (+52.94%)
Mutual labels:  pharo
codeclimate-phpcodesniffer
Code Climate Engine for PHP Code Sniffer
Stars: ✭ 27 (+58.82%)
Mutual labels:  quality
qamd
QAMyData, a data quality assurance tool for SPSS, STATA, SAS and CSV files.
Stars: ✭ 16 (-5.88%)
Mutual labels:  quality
Fog
Pharo Ethereum Driver
Stars: ✭ 19 (+11.76%)
Mutual labels:  pharo
liquibase-linter
Quality control for your Liquibase scripts
Stars: ✭ 15 (-11.76%)
Mutual labels:  quality
Moose2Model
A software exploration tool to support developers during their work
Stars: ✭ 12 (-29.41%)
Mutual labels:  pharo
CanAirIO
W A R N I N G: This is a previous proof of concept of CanAirIO device firmware over a TTGO T-Display board, but now it is only a old reference. The last stable version of CanAirIO device already have support for this board and many features more. Please use the official CanAirIO Firmware instead of this firmware. https://github.com/kike-canaries…
Stars: ✭ 12 (-29.41%)
Mutual labels:  quality
NeoJSON
NeoJSON is an elegant and efficient standalone Smalltalk framework to read and write JSON converting to or from Smalltalk objects.
Stars: ✭ 29 (+70.59%)
Mutual labels:  pharo
codeclimate-eslint
Code Climate Engine for ESLint
Stars: ✭ 86 (+405.88%)
Mutual labels:  quality
code-review
Um projeto onde você pode enviar seu código fonte para outras pessoas te ajudarem a melhorar
Stars: ✭ 84 (+394.12%)
Mutual labels:  quality

Quality Assistant Build Status DOI

Hi, I'm your personal quality assistant. I run SmallLint rules on the code that you modify, and notify you about the critics right in the system browser. If you find any bugs in me please report them.

logo

Installation

QualityAssistant comes pre-installed with Pharo5 (from 23.07.2015 v50185)

The easiest way to install is to use Configuration Browser. Otherwise you can execute the following script.

Metacello new
  smalltalkhubUser: 'Pharo'
  project: 'MetaRepoForPharo40';
  configuration: 'QualityAssistant';
  get;
  load

In Nautilus

Quality Assistant uses Nautilus plugin to notify users about the critics in their code. The plugin is automatically activated and will be available in all browsers opened after loading Quality Assistant. By default the plugin is positioned at the bottom of Nautilus browser, and will display a list of critics for a selected class or method.

nautilus demo

###Critics Details

If possible, the critic text will be prefixed with the name of the faulty part (variable, message, method, etc…). These prefixes as well as source code highlights are not implemented for many critics, although it is possible to do it. If you will find such a case, please report it here: https://github.com/Uko/Renraku/issues.

####Severity levels There are 3 severity levels of critics that are displayed at the left side of the list:

  • eclipse small info icon glamour small info icon    idea small info icon Information
  • eclipse small warning icon glamour small warning icon    idea small warning icon Warning
  • eclipse small error icon glamour small error icon    idea small error icon Error

####Actions eclipse small question icon glamour small question icon    idea small question icon Rationale. Clicking on the question mark will bring up the rationale on the critic.

eclipse small cancel icon glamour small cancel icon    idea small cancel icon Ban. Allows you to ban the validation of the current class or method by the rule of the critic. I.e. the critic will not be reported any more. When banning a critic for a method, you can decide to ban it on the class level, so the policy will apply to all the methods of a class. This functionality is implemented on top of Manifest false positives.

repair icon Autofix. Some critics provide a solution to the issue reported by them. By pressing "autofix" button you will open a diff preview of the changes that will happen if you apply the proposed issue resolution. However, previewing changes (i.e. before-after diff) is not as nice as it was. Sorry for inconveniences, I hope that we will have a solution for this in the future.

Now the plugins in Inspector and Spotter can be toggled in settings (QualityAssistant group) and are disabled by default. inspector demo

In Inspector

If you inspect a method or a class which has critics, you will see a tab with a red circler and a number corresponding to critics amount. A critics presentation pane contains a list of critics prefixed with icons that represent severity and tagged with the group they belong to. A critic itself provides a source code presentetion and a description of itself.

inspector demo

In Spotter

While diving into a class of a method inside Spotter you can see the related critics in the QA Critics group.

spotter demo

Story Behind the Name

Definitely, the idea behind Quality Assistant is to have a bot that assists you with the quality of your code. But there is also the other side of the Moon.

In Ukraine we are used to call quality assurance engineers just QAs. And we are using it so much that we start to decline it in our own language. So you can think about QA as a word like "cuey" (Ukr: "кюей") instead of abbreviation. And so it's common to say: "the QA will check this" or "a QA has found a bug" or even "our QA has a birthday today".

In the first prototypes of Quality Assistant there was a global variable QA and so you could ask it:

QA revalidate: aMethod
QA criticsOf: aClass

This way you have an artificial quality assurance engineer, that you can talk to. And that guy (or girl) knows something about the quality of your code ;)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].