All Projects → i582 → phpstats

i582 / phpstats

Licence: MIT License
CLI Statistics and dependency graphs for PHP

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to phpstats

Android-Clean-Architecture
🚀A basic sample android application to understand Clean Architecture in a very simple way and is written in Kotlin.
Stars: ✭ 39 (-36.07%)
Mutual labels:  clean-code, clean-architecture
CleanArchitecture-Template
This is a solution template for Clean Architecture and CQRS implementation with ASP.NET Core.
Stars: ✭ 60 (-1.64%)
Mutual labels:  clean-code, clean-architecture
flutter clean architecture
A flutter clean architecture series, the way we build clean apps.
Stars: ✭ 225 (+268.85%)
Mutual labels:  clean-code, clean-architecture
clean-code-javascript
🛁 Clean Code-Konzepte adaptiert für JavaScript.
Stars: ✭ 37 (-39.34%)
Mutual labels:  clean-code, clean-architecture
clean-ddd-php-poc-contacts
A simple contact manager API to demonstrate the concepts of Clean Architecture and DDD with PHP 7.4+.
Stars: ✭ 31 (-49.18%)
Mutual labels:  clean-code, clean-architecture
whatsApp clone
Flutter WhatsClone (with Firebase + Clean Architecture) this app follow clean architecture proposed by our friendly Uncle Bob.
Stars: ✭ 181 (+196.72%)
Mutual labels:  clean-code, clean-architecture
NodeJS-A-Clean-Archticture-NJCA
This is a simple NodeJS Architecture can be used in an enterprise applications. 🎉🤔
Stars: ✭ 64 (+4.92%)
Mutual labels:  clean-code, clean-architecture
clean-code-javascript-ko
🛁 Clean Code concepts adapted for JavaScript - 한글 번역판 🇰🇷
Stars: ✭ 1,767 (+2796.72%)
Mutual labels:  clean-code, clean-architecture
iOS-Clean-Architecture-Example
An iOS app designed using clean architecture and MVVM.
Stars: ✭ 50 (-18.03%)
Mutual labels:  clean-code, clean-architecture
icingaweb2-module-pnp
Integrate PNP graphs into Icinga Web 2
Stars: ✭ 32 (-47.54%)
Mutual labels:  metrics, graphs
flutter pokedex
Pokedex app built with Flutter (with lots of animations) using Clean Architecture
Stars: ✭ 1,603 (+2527.87%)
Mutual labels:  clean-code, clean-architecture
RSS-Reader
Simple project with clean architecture
Stars: ✭ 31 (-49.18%)
Mutual labels:  clean-code, clean-architecture
eShopOnWeb
Sample ASP.NET Core 6.0 reference application, powered by Microsoft, demonstrating a layered application architecture with monolithic deployment model. Download the eBook PDF from docs folder.
Stars: ✭ 8,250 (+13424.59%)
Mutual labels:  clean-code, clean-architecture
SwiftObserver
Elegant Reactive Primitives for Clean Swift Architecture #NoRx
Stars: ✭ 14 (-77.05%)
Mutual labels:  clean-code, clean-architecture
go-monolith-example
Example Go monolith with embedded microservices and The Clean Architecture
Stars: ✭ 186 (+204.92%)
Mutual labels:  clean-code, clean-architecture
fastapi-pydiator
Python clean architecture and usecase implementation with fastapi and pydiator-core
Stars: ✭ 58 (-4.92%)
Mutual labels:  clean-code, clean-architecture
birthtalk
Meet who have birth common with you
Stars: ✭ 36 (-40.98%)
Mutual labels:  clean-code, clean-architecture
clean architecture typescript example
This repository provides an implementation (or at least an attempt) of Uncle Bob's Clean Architecture with Typescript.
Stars: ✭ 78 (+27.87%)
Mutual labels:  clean-code, clean-architecture
Clean-Architecture-in-Golang
A Clean Architecture in Golang
Stars: ✭ 22 (-63.93%)
Mutual labels:  clean-code, clean-architecture
Algorithms
Free hands-on course with the implementation (in Python) and description of several computational, mathematical and statistical algorithms.
Stars: ✭ 117 (+91.8%)
Mutual labels:  statistics, graphs

Build Status Go Report Card GitHub license

phpstats

PhpStats is a tool that collects statistics for the code of your project and, based on these statistics, calculates various qualitative metrics of the code, builds the necessary graphs, and also finds the relationships between symbols in the system.

It tries to be fast, at the moment—about 150k lines of code per second on a MacBook Pro 2019 with Core i5.

The tool is built on top of NoVerify and written in Go.

Documentation for the project here.

Table of Contents

What is supported?

PhpStats currently represents five areas:

  1. Collecting code metrics;
  2. Building dependency graphs;
  3. Analysis of relationships between symbols;
  4. Gathering brief information about the project;
  5. Analysis of the reachability of a function.

It also allows you to view lists of classes, interfaces, functions, methods, files and namespaces in a tabular form with the ability to sort by metrics.

Let's look at each point separately.

Code metrics

PhpStats currently calculates the following metrics:

  1. Afferent couplings:
  2. Efferent couplings:
  3. Instability:
  4. Abstractness;
  5. Lack of Cohesion in Methods;
  6. Lack of Cohesion in Methods 4 (or the number of connected components of the class);
  7. Cyclomatic Complexity;
  8. Count of magic numbers in functions and methods;
  9. Count fully typed methods.

See the documentation part for details.

Dependency graphs

PhpStats is currently building the following dependency graphs:

  1. Class (or interface) dependencies;
  2. Class (interface) extend or implementation dependencies;
  3. Function or method dependencies;
  4. Links within a class (or graph for the LCOM 4 metric);
  5. Links between files (included in global and in functions);
  6. Namespace dependencies graph;
  7. Namespace structure graph;
  8. Function reachability graph.

See the documentation part for details.

Relations between symbols

PhpStats is currently analyzing the following relations:

  1. For class-class relations:

    1. Whether one class is extends another and vice versa;
    2. Whether the class implements the interface or vice versa;
    3. What methods, fields and constants are used by one class used by another and in which methods this happens.
  2. For class-function relations:

    1. Function belong to class;
    2. The class is used inside the function;
    3. Used class members in functions;
    4. The function is used in the class (+ all methods where this function is used).
  3. For function-function relations:

    1. Functions belong to the same class;
    2. Does the first function use the second and vice versa;
    3. Whether the first function is reachable from the second through calls and vice versa (+ call stacks to reach the function).

See the documentation part for details.

Reachability of functions

See the documentation part for details.

Brief information about the project

See the documentation part for details.

About the project

PhpStats is © 2020-2020 by Petr Makhnev.

Contacts

Have any questions—welcome in telegram: @petr_makhnev.

Contributing

Feel free to contribute to this project. I am always glad to new people.

License

PhpStats is distributed by an MIT license.

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].