where to start refactoring?
TRANSCRIPT
![Page 1: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/1.jpg)
Where to start refactoring?
![Page 2: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/2.jpg)
Agenda1. Identify biggest files
2. Identify most complex files
3. Identify most changed files
4. Crossing our findings
![Page 3: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/3.jpg)
![Page 4: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/4.jpg)
$ git clone https://github.com/jquery/jquery.git
$ cd jquery
$ git checkout 3.1.0
![Page 5: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/5.jpg)
Biggest files
![Page 6: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/6.jpg)
$ find src -type f | xargs wc -l | sort | tail
![Page 7: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/7.jpg)
$ find src -type f | xargs wc -l | sort | tail
234 src/callbacks.js
237 src/selector-native.js
389 src/deferred.js
424 src/css.js
481 src/core.js
486 src/manipulation.js
688 src/effects.js
726 src/event.js
855 src/ajax.js
9026 total
![Page 8: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/8.jpg)
![Page 9: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/9.jpg)
$ brew install cloc
$ find src -type f | xargs cloc —by-file | head -n 20
![Page 10: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/10.jpg)
$ find src -type f | xargs cloc —by-file | head -n 20
… omitted output …
File blank comment code
-----------------------------------------------------------------------------------------
src/effects.js 101 56 531
src/ajax.js 168 179 508
src/event.js 125 94 507
src/manipulation.js 93 44 349
src/core.js 104 78 299
src/css.js 81 65 278
src/deferred.js 66 86 237
src/selector-native.js 38 47 152
src/offset.js 42 38 152
… omitted output …
![Page 11: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/11.jpg)
Most complex files
![Page 12: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/12.jpg)
![Page 13: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/13.jpg)
![Page 14: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/14.jpg)
![Page 15: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/15.jpg)
![Page 16: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/16.jpg)
$ npm install -g jscomplexity
$ cd src
$ jscomplexity
![Page 17: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/17.jpg)
$ jscomplexity
┌────────────────────────────────────────────────────────────────────────────────┬────────────────────┐
│ File │ Complexity │
├────────────────────────────────────────────────────────────────────────────────┼────────────────────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
│ ./selector-native.js │ 44 │
│ ./event/trigger.js │ 38 │
… omitted output …
![Page 18: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/18.jpg)
Most changed files
![Page 19: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/19.jpg)
$ git log --pretty=format: --name-only -- src |\ sort | uniq -c | sort -rg | head
![Page 20: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/20.jpg)
$ git log --pretty=format: --name-only -- src | sort | uniq -c |\ sort -rg | head
4115
601 src/core.js
560 src/event.js
379 src/ajax.js
346 src/manipulation.js
343 src/jquery/jquery.js
239 src/attributes.js
236 src/css.js
222 src/sizzle
201 src/effects.js
![Page 21: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/21.jpg)
$ git log --pretty=format: --name-only \ --after="1 year ago" -- src | sort | uniq -c |\ sort -rg | head
![Page 22: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/22.jpg)
$ git log --pretty=format: --name-only --after="1 year ago" -- src | sort |\ uniq -c | sort -rg | head
137
22 src/event.js
17 src/core.js
14 src/ajax.js
13 src/manipulation.js
11 src/deferred.js
11 src/css.js
10 src/css/showHide.js
9 src/offset.js
9 src/effects.js
![Page 23: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/23.jpg)
![Page 24: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/24.jpg)
$ shopt -s globstar # if you are on bash (4+)
$ git effort --above 8 src/**/*.js -- --after="1 year ago"
![Page 25: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/25.jpg)
$ git effort --above 8 src/**/*.js -- --after="1 year ago”
path commits active days
src/event.js................................. 22 21
src/core.js.................................. 17 16
src/ajax.js.................................. 14 14
src/manipulation.js.......................... 13 11
src/deferred.js.............................. 11 11
src/css.js................................... 11 11
src/css/showHide.js.......................... 10 10
src/offset.js................................ 9 8
src/effects.js............................... 9 8
![Page 26: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/26.jpg)
Crossing our findings
![Page 27: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/27.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 28: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/28.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 29: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/29.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 30: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/30.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 31: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/31.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 32: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/32.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 33: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/33.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 34: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/34.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 35: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/35.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 36: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/36.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 37: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/37.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 38: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/38.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 39: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/39.jpg)
File code
---------------------------
src/effects.js 531
src/ajax.js 508
src/event.js 507
src/manipulation.js 349
src/core.js 299
src/css.js 278
│ File │ Cmp │
├───────────────────┼─────┤
│ ./ajax.js │ 123 │
│ ./event.js │ 120 │
│ ./effects.js │ 108 │
│ ./manipulation.js │ 77 │
│ ./css.js │ 73 │
│ ./core.js │ 54 │
path commits
src/event.js............ 22
src/core.js............. 17
src/ajax.js............. 14
src/manipulation.js..... 13
src/deferred.js......... 11
src/css.js.............. 11
src/css/showHide.js..... 10
src/offset.js........... 9
src/effects.js.......... 9
Biggest Most complex Most changed
![Page 40: Where to start refactoring?](https://reader036.vdocuments.net/reader036/viewer/2022070603/5872c7521a28ab0c718b674b/html5/thumbnails/40.jpg)
Thank you ;D@thiagoalessio
github.com/thiagoalessio