Identifier Name IDE Plugin

Identifier Name IDE Plugin

Improving code quality through identifier analysis

Overview

The Identifier Name IDE Plugin enhances code quality by analyzing how developers name variables, methods, and classes within their software projects. Identifiers contribute approximately 70% of source code and serve as critical documentation that conveys developer intent. The plugin provides visualization tools for identifier naming patterns, detects naming violations, and suggests improvements, enabling developers to maintain consistent coding standards and improve code readability.

Features

Bubble Chart Visualization

Displays an interactive bubble chart that highlights identifier naming patterns, organized by categories of identifiers. Each bubble corresponds to a specific set of identifiers, with tooltips that provide more details about the set.

Violations Detection

Creates an identifier report that highlights identifier naming violations detected across the project along with a rating of violations on a scale of severity. Users can view which identifiers have violations and suggestions on how to resolve them.

Data Export

Developed an export system that allows users to download identifier data in CSV or JSON formats. This helps support easy sharing, analysis, and documentation of identifier usage and violations.

Format Identifiers

Built a featured system that extracts all identifiers from a project, grouped by their format type (parameters, fields, variables, classes, types).

Implementation

Plugin Interface

Data Export Interface

Violations Panel

Violations Detection Panel

Data Export View

Bubble Chart Visualization

Methodology

1

Identifiers are Organized into distinct categories

2

Identifiers are Diagrammed into lists by relationship (Parameter, Field, Variable)

3

Identifiers are Diagrammed into lists by category (Class, Type and Name)

4

Violations are presented with a severity scale

5

Violations are gathered with a zero-to-full that shows the violations

6

Identifiers are evaluated by Type, Class and Name

Challenges

There were a variety of challenges that were encountered throughout the development of the plugin, particularly with implementing the tool across different coding styles and understanding the framework. Additionally, managing overlapping elements in bubble visualizations and handling the UI responsive involved complex design and event handling aspects. The project also introduced additional layers of testing and debugging.

Next Steps

The Identifier Name IDE Plugin brings identifier analysis and visualization into the development workflow, aiding in code comprehension and refactoring. Future development will focus on integration with more language-specific conventions, multi-language support for different syntaxes, and more customizations on style preferences to better adapt to the needs of the user.

Team

Aaren Orquia, Samuel Yang, Josiah Liu

Sponsor: Anthony Peruma

ICS 414 Software Project – Spring 2023

Tools & Frameworks

IntelliJ IntelliJ
Kotlin Kotlin
Java Java
Gradle Gradle
GitHub GitHub