All Projects → anapaulagomes → looong

anapaulagomes / looong

Licence: other
Discovery of Long Parameter List

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to looong

Code Smells And Feels
Talk on code smells and feels and how to change that via refactoring
Stars: ✭ 178 (+1012.5%)
Mutual labels:  refactoring
Learning Oop In Php
A collection of resources to learn object-oriented programming and related concepts for PHP developers.
Stars: ✭ 2,359 (+14643.75%)
Mutual labels:  refactoring
ci-testing-python
Sample Microservice App in Python for Testing using pytest, uber/doubles, tox on CI servers like Jenkins and Travis CI using Docker + Docker-Compose for test environment.
Stars: ✭ 37 (+131.25%)
Mutual labels:  tox
Clang Expand
🐉 A clang tool for happy refactoring without source-code gymnastics
Stars: ✭ 182 (+1037.5%)
Mutual labels:  refactoring
All Repos
Clone all your repositories and apply sweeping changes.
Stars: ✭ 197 (+1131.25%)
Mutual labels:  refactoring
Quiz App
A repository reflecting the progress made on the "How to Build iOS Apps with Swift, TDD & Clean Architecture" YouTube series, by Caio & Mike.
Stars: ✭ 230 (+1337.5%)
Mutual labels:  refactoring
Autorefactor
Eclipse plugin to automatically refactor Java code bases
Stars: ✭ 168 (+950%)
Mutual labels:  refactoring
ToxBlinkenwall
ToxBlinkenwall - VideoConferencing with Tox
Stars: ✭ 16 (+0%)
Mutual labels:  tox
Abracadabra
Automated refactorings for VS Code (JS & TS) ✨ It's magic ✨
Stars: ✭ 204 (+1175%)
Mutual labels:  refactoring
ansible-snmp-exporter
Provision SNMP metrics exporter for prometheus monitoring
Stars: ✭ 18 (+12.5%)
Mutual labels:  tox
Tagalong.vim
Change an HTML(ish) opening tag and take the closing one along as well
Stars: ✭ 184 (+1050%)
Mutual labels:  refactoring
Js Refactor
JS Refactoring tool for Visual Studio Code
Stars: ✭ 195 (+1118.75%)
Mutual labels:  refactoring
Best Of Python Dev
🏆 A ranked list of awesome python developer tools and libraries. Updated weekly.
Stars: ✭ 243 (+1418.75%)
Mutual labels:  refactoring
Refactoringminer
Stars: ✭ 177 (+1006.25%)
Mutual labels:  refactoring
atom-refactoring
Atom package that provides refactoring capabilities for your PHP source code.
Stars: ✭ 16 (+0%)
Mutual labels:  refactoring
Pre Commit Hooks
Some out-of-the-box hooks for pre-commit
Stars: ✭ 2,605 (+16181.25%)
Mutual labels:  refactoring
Refactor Nrepl
nREPL middleware to support refactorings in an editor agnostic way
Stars: ✭ 213 (+1231.25%)
Mutual labels:  refactoring
redux-usage-report
A Redux Devtools monitor to audit your app's usage of the store
Stars: ✭ 41 (+156.25%)
Mutual labels:  refactoring
rubocop-auto-correct
Auto-correct ruby source code by using rubocop in Atom.
Stars: ✭ 29 (+81.25%)
Mutual labels:  refactoring
Escape From Callback Mountain
Example Project & Guide for mastering Promises in Node/JavaScript. Feat. proposed 'Functional River' pattern
Stars: ✭ 249 (+1456.25%)
Mutual labels:  refactoring

Looong

Keeping eyes on long parameters list 🔍

Build Status Code Climate Code Health

Long parameter list is a code smell - a clue that there is a problem on your software design. To help you on this this module has been written to identify methods with long parameter list and to suggest parameters groups that could became potential object because they appear together.

Usage

Installing

$ make install

We recommend the use of virtual environment.

Running

$ python looong/main.py -d <directory>
Analyzed files: 553
Analyzed methods: 2224

render [django/shortcuts.py] ['request', 'template_name', 'context', 'content_type', 'status', 'using'] 6
create [django/contrib/admin/filters.py] ['field', 'request', 'params', 'model', 'model_admin', 'field_path'] 6
kml [django/contrib/gis/sitemaps/views.py] ['request', 'label', 'model', 'field_name', 'compress', 'using'] 6
run [django/core/servers/basehttp.py] ['addr', 'port', 'wsgi_handler', 'ipv6', 'threading', 'server_cls'] 6
data [django/contrib/gis/gdal/raster/band.py] ['data', 'offset', 'size', 'shape', 'as_memoryview'] 5
kmz [django/contrib/gis/sitemaps/views.py] ['request', 'label', 'model', 'field_name', 'using'] 5
dumps [django/core/signing.py] ['obj', 'key', 'salt', 'serializer', 'compress'] 5
loads [django/core/signing.py] ['s', 'key', 'salt', 'serializer', 'max_age'] 5
migrate [django/db/migrations/executor.py] ['targets', 'plan', 'state', 'fake', 'fake_initial'] 5
connect [django/db/models/signals.py] ['receiver', 'sender', 'weak', 'dispatch_uid', 'apps'] 5

Goal

Methods with long parameter list pointing to a problem with OO principles. One of the approach to solve is creating objects with the parameters that appear more together. Our goal is cluster this parameters and suggest as objects.

LoooooooooooooooooooooooooooooooooooG

Analyzed files: 553
Analyzed methods: 2224

render [django/shortcuts.py] ['request', 'template_name', 'context', 'content_type', 'status', 'using'] 6
create [django/contrib/admin/filters.py] ['field', 'request', 'params', 'model', 'model_admin', 'field_path'] 6
kml [django/contrib/gis/sitemaps/views.py] ['request', 'label', 'model', 'field_name', 'compress', 'using'] 6
run [django/core/servers/basehttp.py] ['addr', 'port', 'wsgi_handler', 'ipv6', 'threading', 'server_cls'] 6

Correlated parameters and possible objects:

(foo, bar)
(foo, bar, barbar)

Development

Please see our contribution guide.

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