Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ESLintとCyclomatic complexityの話
Search
Kenya Hoshi
July 13, 2019
Programming
0
950
ESLintとCyclomatic complexityの話
ESLintを使って、JavaScriptのコード内でCyclomatic complexity(循環的複雑度)が高い箇所を特定するお話です。
Kenya Hoshi
July 13, 2019
Tweet
Share
More Decks by Kenya Hoshi
See All by Kenya Hoshi
Nice to meet you, Deno!
yahooshiken
0
120
コンポーネント管理の失敗とこれからのやっていき💪
yahooshiken
2
890
2019/07/11_POLを支えるProduct teamとmonday.com
yahooshiken
1
90
採用活動は究極のオンボーディングである
yahooshiken
1
1k
エンジニアインターンが考えるマネジメントキャリアパス
yahooshiken
1
1.8k
Other Decks in Programming
See All in Programming
開発生産性を上げるための生成AI活用術
starfish719
3
1.4k
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
11
6.9k
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
250
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
15
5.9k
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
860
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
410
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
920
品質ワークショップをやってみた
nealle
0
550
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
0
2.1k
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
130
Flutterで分数(Fraction)を表示する方法
koukimiura
0
130
AI Agent 時代的開發者生存指南
eddie
3
1.9k
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Producing Creativity
orderedlist
PRO
347
40k
A better future with KSS
kneath
239
18k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
GraphQLとの向き合い方2022年版
quramy
49
14k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Transcript
&4-JOUͱ $ZDMPNBUJDDPNQMFYJUZͷ !ZBIPPTIJLFO 4VTUBJOBCMF'SPOUFOE
ࣗݾհ w ໂᜌ݈)PTIJNVSF,FOZB w !ZBIPPTIJLFO w পߴઐˠେࡕେֶجૅֶ෦ٳֶத w גࣜձࣾ10-ΤϯδχΞ w
Likes:8FC'SPOUFOE 3FBDU 5ZQF4DSJQU &MN )3 4BB4 .BOBHFNFOU
ʮྑ͍ʯίʔυͱʁ ಥવͰ͕͢ʜ
8IBU`Tl$MFBO$PEFz ࢲɺࣗͷίʔυ͕ΤϨΨϯτͰޮྑ͍͜ͱΛΈ·͢ɻ ϩδοΫόά͕ೖΓࠐΈʹ͍͘Α͏ʹ୯७Ͱ͋Δ͖Ͱɺ ґଘੑอक͕༻ҙͱͳΔΑ͏ʹ࠷খݶʹ͖͢Ͱ͋Γɺ ΤϥʔॲཧҰ࿈ͷઓུʹଇͬͯશͰͳ͚ΕͳΒͣɺ ޙʑɺଞͷਓ͕ཧʹཪଧͪ͞Ε͍ͯͳ͍࠷దԽΛߦ͏ ༠ʹ͔ΒΕͯɺίʔυ͕͙ͪΌ͙ͪΌʹͳͬͯ͠·Θͳ͍Α͏ɺ ࣮ߦޮ࠷ߴʹ͍ۙͷͰͳ͚ΕͳΓ·ͤΜɻ ΫϦʔϯίʔυͱͭͷ͜ͱΛ্ख͘Δ͜ͱͰ͢ɻ #KBSOF4USPVTUSVQ
։ൃऀʹͱͬͯʮྑ͍ʯίʔυ Մಡੑ͕ߴ͍ʢSFBEBCMFʣ อकੑ͕ߴ͍ʢNBJOUBJOBCMFʣ ϘΫ͕ࢥ͏
ͦΜͳ؆୯ʹʮྑ͍ʯίʔυ ॻ͚ͳ͍ ͱ͍͑ɺ
ͳ͔ͥʁ
None
͜͜Ͱڥ൜ࡑֶͷΛ ࣏͕҆ѱԽ͢Δ·Ͱʹ࣍ͷܦաΛͨͲΔɻ ݐͷ૭͕յΕ͍ͯΔͷΛ์ஔ͢ΔͱɺͦΕ͕ʮ୭֘۠ʹ ରؔ͠৺Λ͍ͬͯͳ͍ʯͱ͍͏αΠϯͱͳΓɺ൜ࡑΛى͜͢͠ ͍ڥΛ࡞Γग़͢ɻ ΰϛͷϙΠࣺͯͳͲͷܰ൜ࡑ͕ى͖Δɻ ॅຽͷϞϥϧ͕Լͯ͠ɺҬͷৼڵɺ҆શ֬อʹڠྗ͠ͳ͘ͳ ΔɻͦΕ͕͞ΒʹڥΛѱԽͤ͞Δɻ ڟѱ൜ࡑΛؚΊͨ൜ࡑ͕ଟൃ͢ΔΑ͏ʹͳΔɻ
ιϑτΣΞ։ൃͷݱͰ ࣅͨΑ͏ͳޫܠ͋Γ·ͤΜ͔ʁ
#SPLFO8JOEPX5IFPSZ ࣏҆Λճ෮ͤ͞Δʹ ɾҰݟແͰ͋ͬͨΓɺܰඍͳடংҧߦҝͰऔΓక·Δ ʢ͝Έ͖ͪΜͱผࣺͯͯ͠ΔͳͲʣ ɾܯ৬һʹΑΔύτϩʔϧަ௨ҧͷऔΓక·ΓΛڧԽ͢Δ ɾҬࣾձܯ৬һʹڠྗ͠ɺடংͷҡ࣋ʹྗ͢Δ
ׂΕͨ૭Λ์ஔ͓͔ͯ͠ͳ͍ #PZ4DPVU3VMF ɾѱ͍ઃܭɺؒҧͬͨҙࢥܾఆɺ࣭ͷѱ͍ίʔ υɺൃݟͱಉ࣌ʹશͯम෮͢Δ ɾ͠ਖ਼͘͠म෮͢Δ͚ͩͷ͕࣌ؒͳ͚Ε ɺͦͷࢫΛΘ͔Γ͘͢ίϝϯτͳͲͰ໌ ࣔ͢Δ
-FBWFUIJTXPSMEBMJUUMF CFUUFSUIBOZPVGPVOEJU ͕ࣗ࠷ॳʹݟͨ࣌ΑΓɺੈքΛ͍͍ॴʹ͘͢ྗ͠Α͏ 3PCFSU#BEFO1PXFMM
Ͳ͏ͬͯιʔείʔυͷ Λૣظൃݟ͢Δ͔ʁ ͡Ό͋ɺ
ͦ͜Ͱ
&4-JOUΛ͏ϝϦοτ ຊ࣭తͰͳ͍ϨϏϡʔ͕ݮΔ ੩తղੳʹΑΔෆ۩߹ͷൃݟ
&4-JOUΛ͏ϝϦοτ ຊ࣭తͰͳ͍ϨϏϡʔ͕ݮΔ ੩తղੳʹΑΔෆ۩߹ͷൃݟ
ຊ࣭తͰͳ͍ϨϏϡʔ const person = { name: “Steve Jobs”, age: 45
}; ɾ0CKFDUͷ࠷ޙͷϓϩύςΟʹίϯϚ͚ͭͯཉ ͍͠ͳɻHJUͷ͕ࠩΑΓΘ͔Γ͍͔͢ΒͶɻ ɾϘΫμϒϧΫΥʔτΑΓγϯάϧΫΥʔτͷ ํ͕͖ͳΜͩɻ4IJGUΛԡͣ͞ʹೖྗͰ͖Δ͔Β Ͷɻ
ୀ۶ͳ͜ͱ&4-JOUʹΒͤΑ͏ ɾਓ͕ؒϓϩάϥϜͷॻ͖ํͷҧ ͍Λࢦఠ͢Δ͜ͱɺ݂Ͱ݂Λચ ͏ऴΘΓͷͳ͍૪͍ΛੜΈग़͢ ɾਓؒؔͷѱԽΛڪΕͯɺࢦఠ Λ͠ͳ͍ͷιϑτΣΞͷʮׂ Εͨ૭ʯΛ์ஔ͢Δ͜ͱ ɾຊདྷɺਓ͕ؒΔ͖αʔϏε ϩδοΫ༷ͷϨϏϡʔʹूத ͠Α͏
&4-JOUΛ͏ϝϦοτ ຊ࣭తͰͳ͍ϨϏϡʔ͕ݮΔ ੩తղੳʹΑΔෆ۩߹ͷൃݟ
੩తղੳͱʁ ίʔυΛ࣮ߦͤͣʹߦ͏ݕূ ɾίʔυͷՄಡੑʹؔ͢Δ ɹɹΠϯσϯτͳͲͷॻࣜҧ ɹɹ໋໊نҧ ɾίʔυͷෳࡶ͞ͳͲʹؔ͢Δݕূ ɹɹΫϥεɺϝιουͷॲཧͷෳࡶ͞ ɹɹΫϥεؒͷґଘؔ
ࠓͷຊ ͬͱ
$ZDMPNBUJDDPNQMFYJUZ ॥తෳࡶ
ʮ॥తෳࡶʯͱʁʁʁ ɾ5IPNBT.D$BCF͕։ൃͨ͠ ιϑτΣΞଌఆ๏ͷҰछ ɾϓϩάϥϜͷ੍ޚϑϩʔΛάϥϑͱͯ͠ දݱ͠ɺܭࢉ͞ΕΔɻ ɾJG FMTF GPS TXJUDI͕ଟ͍ذύλʔϯ ͕ଟ͍΄Ͳෳࡶ͕ߴ͍
ɾ॥తෳࡶ͕ߴ͍΄Ͳɺόάͷࠞೖ͕ ߴ͍ͱݴΘΕ͍ͯΔɻ
&4-JOUͰ $ZDMPNBUJDDPNQMFYJUZ { "complexity": ["error", 10] } Λɺ͋ͳͨͷFTMJOUSDʹՃ͢Δ͚ͩʂ؆୯ʂ
ෳࡶΛଌΔπʔϧͰ ͜Μͳͷ͋Γ·ͨ͠ ͦͷଞʹ
FTBOBMZTJTQMBUP +BWB4DSJQUͷίʔυΛղੳͯ͠ɺίʔυߦ ෳࡶεςοϓͳͲΛՄࢹԽͯ͘͠ΕΔ OQNύοέʔδ IUUQTXXXOQNKTDPNQBDLBHFQMBUP
࣮ࡍͷγεςϜͰݕূͯ͠Έͨ
ࠓճͷݕূରγεςϜ ɾ݄pSTUDPNNJUͷ3FBDUϓϩδΣΫτ ɾॳظϑϩϯτΤϯυઐΤϯδχΞਓ ɾۀҕୗͱΠϯλʔϯੜͷͱྦͷ݁থ ɾνʔϜϝϯόʔʮෛ࠴ͦ͏ʜʯ
QMBUPͰͷݕূ݁Ռ ສߦʂ ͼͬ͘Γʂ ͓ʁ ҙ֎ͱେৎʁ
&4-JOUͰͷݕূ݁Ռ ສߦͷதͰFSSPSʂࢥͬͯΑΓগͳ͍ʜ☺
॥తෳࡶͱόάࠞೖͷؔ ࢀߟɿIUUQTXXXJOGPRDPNOFXTDZDMPNBUJDDPNQMFYJUZ ॥తෳࡶ όάࠞೖ֬
·ͱΊ ɾϦϑΝΫλϦϯάΛͲ͔͜ΒखΛ͚Δ͔ͷ ํΛܾΊΔஅࡐྉ͕ू·ͬͨʂ ɹϦϑΝΫλલޙͰ͕Ͳ͏ͳΔָ͔͠Έ ɾνʔϜϝϯόʔͷίʔυʹରͯ͠ͷةػҙࣝ ͕ߴ·ͬͨ ɹΞʔΩςΫνϟ৽ϓϩδΣΫτ࢝ಈʂ
5IBOLT