Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ESLintとCyclomatic complexityの話
Search
Kenya Hoshi
July 13, 2019
Programming
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ESLintとCyclomatic complexityの話
ESLintを使って、JavaScriptのコード内でCyclomatic complexity(循環的複雑度)が高い箇所を特定するお話です。
Kenya Hoshi
July 13, 2019
More Decks by Kenya Hoshi
See All by Kenya Hoshi
コンポーネント管理の失敗とこれからのやっていき💪
ho460kenya
2
940
採用活動は究極のオンボーディングである
ho460kenya
1
1.1k
エンジニアインターンが考えるマネジメントキャリアパス
ho460kenya
1
1.9k
Other Decks in Programming
See All in Programming
phperだってパンチカードでコーディングしたい
o0h
PRO
0
260
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
160
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
940
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
golang-bob.pdf
iwatsukayura
0
120
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
490
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
360
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
250
SREの越境 / SRE Collaboration
y0hgi
2
300
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
1
230
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.1k
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
180
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Design in an AI World
tapps
1
350
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
320
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
210
Balancing Empowerment & Direction
lara
6
1.3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
350
KATA
mclloyd
PRO
35
16k
Technical Leadership for Architectural Decision Making
baasie
3
600
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
780
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