console-helpers / code-insight Goto Github PK
View Code? Open in Web Editor NEWA tool for analysing other project code bases.
License: BSD 3-Clause "New" or "Revised" License
A tool for analysing other project code bases.
License: BSD 3-Clause "New" or "Revised" License
The command will show deprecated code elements (properties, classes, methods) introduced in new version in comparison to old version.
Need to write usage guide in README.md
When class was final
and stayed final
then it's protected
members (e.g. properties or methods) should be considered as private
in terms of BC checks, e.g.:
Right now the bc
command always prints human readable report. Proposing to:
--format
option allow exporting bc breaks as: text
, html
, json
Right now bc
command accepts these arguments/options:
source path
(required)source fork
(default: empty)target path
(default: current project)target fork
(default: empty)Such defaults work perfectly, when a need arises to compare 2 working copies, but doesn't work, when a need arises to compare project with it's own version in past.
Proposing to:
source path
or source fork
requiredsource path
is missing, but source fork
is specified, then use target path
as source path
Don't consider added optional parameter as bc break.
The bc
command only reports technical (by definition) BC breaks, which in some cases:
Once #11 is implemented the BC break definition can be exported as JSON. This in turn can be used to define bc break ignore rules via bc_ignore
setting in .code-inside.json
file.
This way all handled BC breaks can be marked in there and no longer be reported on next run.
An optional reference
parameter can be defined with each ignore telling why this was ignored in first place.
In readme.md, it writes
download latest released PHAR file from https://github.com/console-helpers/code-insight/releases page.
However, there is nothing in https://github.com/console-helpers/code-insight/releases. Is it possible to publish a release? Thanks!
The tag in In-Portal is considered any method, that:
*TagProcessor
class$params
Turns out that method name isn't checked and prepareTagParams($params)
also is detected as tag.
The In-Portal class BC checker detects new style tags (e.g. function TagName(array $params)
) but doesn't detect old style tags (e.g. function TagName($params)
).
When property/method becomes static or looses static status it should trigger BC break because:
Currently to run cross-version commands the 2 working copies needs to exist in parallel and each have:
code-inside.sqlite
database.code-inside.json
config fileThis becomes a problem when there is only 1 working copy and comparison needs to be made between 2 commits (e.g. current and previous) in it. In that case the .code-inside.json
file is committed, but code-inside.sqlite
file isn't.
Implementation ideas:
code-inside.sqlite
not next to .code-inside.json
file in the project folder, but inside ~/.code-insight/xxx
folder where xxx
is absolute path to folder containing .code-inside.json
file--fork name
option to sync
command, that will instruct all changes to be made on db copy under given name
bc
and cs
commands to have source-path
and target-path
paths to allow forks, when new --source-fork
and --target-fork
options are specifiedFor single-class analysis the PHP_CodeSniffer is the best tool to use. However it can't do cross-class analysis.
Things to check:
Right now Travis CI build fails on PHP 7.x because PHPUnit version used there doesn't know non-namespaced classes anymore.
E.g. https://travis-ci.org/console-helpers/code-insight/jobs/286920603
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.