Skip to content

phunga003/JavaLinter-Engineering-Notebook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

Java Linter Engineering Notebook

2/4/2025 10am - 12pm

Items

  • [Done] Created a Wiki Page for the project
  • [Done] Defined Architechural drivers and concerns
  • [Done] Revised deliverables and discuss on potential cause of concerns
  • [Done] Chose reference architechure
  • [Done] Finalize architechural design document
  • [Done] Research on possible checks for linter

Meeting notes

  • "Architechural concerns" should encompass the reality of the project constraints, including any human elements and overall deliverables and not just 'general' concerns for implementation.
  • Possible checks
    • Styles
      • Naming Convention (camel case)
      • Unused variables
      • Lack of Error handling
      • Unused Method
      • Missing semi-colons
      • unused dependencies
      • wildcard imports
    • Principles
      • Method chaining
      • Inheritence
      • Encapsulation
      • Coherence
      • Single-Class Implementations
      • Long parameter Lists
    • Patterns
      • Observer
      • Decorator
      • Template method

2/13/2025 10am - 12pm

Items

Meeting notes

  • Decided some checks are not possible (PLK, wildcard import)

2/20/2025 10am - 12pm

Items

  • [done] fixed ConfigInfo to recursively look for path

Meeting notes

  • folders paths are treated as files paths, leading to error when parsing classes
    • Fixed config parser to parse paths recursively

2/20/2025 10am - 12pm

Items

  • [done] unused variable check

    • algo
      1. Put all declared fields and local variables into a counter
      2. increment counter if there is a usage found
      3. check if any vars or field counters is still 0
  • [50%] think abt algo for coupling and cohesion check

    1. Build dependency graph (or matrix) TODO: matrix might be better tbh
      • Each dependency edge also have a "count", which is the number of methods dependent on a class
    2. Check if [a][b] and [b][a] has a high count
    3. flag warning if yes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •