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
860
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
110
コンポーネント管理の失敗とこれからのやっていき💪
yahooshiken
2
790
2019/07/11_POLを支えるProduct teamとmonday.com
yahooshiken
1
87
採用活動は究極のオンボーディングである
yahooshiken
1
950
エンジニアインターンが考えるマネジメントキャリアパス
yahooshiken
0
1.8k
Other Decks in Programming
See All in Programming
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
2k
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
900
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
150
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
120
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
110
subpath importsで始めるモック生活
10tera
0
320
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
340
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
2
140
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
200
flutterkaigi_2024.pdf
kyoheig3
0
150
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Code Review Best Practice
trishagee
64
17k
We Have a Design System, Now What?
morganepeng
50
7.2k
Faster Mobile Websites
deanohume
305
30k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
The Language of Interfaces
destraynor
154
24k
Code Reviewing Like a Champion
maltzj
520
39k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Six Lessons from altMBA
skipperchong
27
3.5k
For a Future-Friendly Web
brad_frost
175
9.4k
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