Movatterモバイル変換
[0]
ホーム
URL:
画像なし
夜間モード
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Daiki Matsumoto
PPTX, PDF
31,681 views
メンテナブルなJsってなんだろう
Software
◦
Read more
132
Save
Share
Embed
Embed presentation
Download
Downloaded 109 times
1
/ 123
2
/ 123
3
/ 123
4
/ 123
5
/ 123
6
/ 123
7
/ 123
8
/ 123
9
/ 123
10
/ 123
11
/ 123
12
/ 123
13
/ 123
14
/ 123
15
/ 123
16
/ 123
17
/ 123
18
/ 123
19
/ 123
20
/ 123
21
/ 123
22
/ 123
23
/ 123
24
/ 123
25
/ 123
26
/ 123
27
/ 123
28
/ 123
29
/ 123
30
/ 123
31
/ 123
32
/ 123
33
/ 123
34
/ 123
35
/ 123
36
/ 123
37
/ 123
38
/ 123
39
/ 123
40
/ 123
41
/ 123
42
/ 123
43
/ 123
44
/ 123
45
/ 123
46
/ 123
47
/ 123
48
/ 123
49
/ 123
50
/ 123
51
/ 123
52
/ 123
53
/ 123
54
/ 123
55
/ 123
56
/ 123
57
/ 123
58
/ 123
59
/ 123
60
/ 123
61
/ 123
62
/ 123
63
/ 123
64
/ 123
65
/ 123
66
/ 123
67
/ 123
68
/ 123
69
/ 123
70
/ 123
71
/ 123
72
/ 123
73
/ 123
74
/ 123
75
/ 123
76
/ 123
77
/ 123
78
/ 123
79
/ 123
80
/ 123
81
/ 123
82
/ 123
83
/ 123
84
/ 123
85
/ 123
86
/ 123
87
/ 123
88
/ 123
89
/ 123
90
/ 123
91
/ 123
92
/ 123
93
/ 123
94
/ 123
95
/ 123
96
/ 123
97
/ 123
98
/ 123
99
/ 123
100
/ 123
101
/ 123
102
/ 123
103
/ 123
104
/ 123
105
/ 123
106
/ 123
107
/ 123
108
/ 123
109
/ 123
110
/ 123
111
/ 123
112
/ 123
113
/ 123
114
/ 123
115
/ 123
116
/ 123
117
/ 123
118
/ 123
119
/ 123
120
/ 123
121
/ 123
122
/ 123
123
/ 123
Recommended
PDF
E2E CSS Testing at HTML5 Conference 2016
by
Takeharu Igari
PDF
ブラウザにやさしいHTML/CSS
by
Takeharu Igari
PDF
今日から使える! HTML/CSS/JSの シンプルテクニック15選
by
Horiguchi Seito
PDF
HTML/CSSを効率的にする メタ言語とツールのアレコレ
by
知己 久保
PDF
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
by
Mori Kazue
PDF
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
by
Yoshiki Hayama
PDF
Web勉強会(HTML+CSS+JS入門の入門)
by
Noriaki UCHIYAMA
PDF
CSS の歩き方
by
Seiichiro Mishiba
PDF
使いやすいWordPressのためのCSSのつくりかた
by
Hiroshi Urabe
PPTX
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
by
Shin Takeuchi
PDF
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
by
Horiguchi Seito
KEY
コーディングが上達するコツ
by
evol-ni
PDF
HTML5マークアップの心得と作法
by
Futomi Hatano
PDF
Css Architecture for the future 未来を見据えるCSS設計
by
Horiguchi Seito
PDF
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
by
Horiguchi Seito
PPTX
2016年版 フロントエンド開発フォーマット
by
Kenya Kodaira
PDF
まだ DOM 操作で消耗してるの?
by
Yuki Ishikawa
PDF
WordPressで作るポートフォリオサイト
by
Takuma Nishiyama
PDF
[Japanese] Style validator-html5etcstudy20151125
by
Takeharu Igari
PDF
設計から実装まで、今すぐ始める高速化
by
masaaki komori
PDF
Javaな人が気を付けるべきJavaScriptコーディングスタイル
by
Maaya Ishida
PDF
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
by
Kazuki Akiyama
PDF
サーバサイドエンジニアが 1年間まじめにSPAやってみた
by
Itaru Kitagawa
PDF
jQueryを中心としたJavaScript
by
hideaki honda
PPTX
マルチデバイス時代の高速化
by
Shin Takeuchi
PDF
SaCSS vol.56 こんなに素敵なBrackets!
by
Atsushi Handa
PDF
大規模サイトにおける本当は怖いCSSの話
by
井上 誠
PDF
今必要なCSSアーキテクチャ
by
Mayu Kimura
PDF
大規模なJavaScript開発の話
by
terurou
PPTX
kintoneの大規模フロントエンド開発とツール
by
Yasuharu Sakai
More Related Content
PDF
E2E CSS Testing at HTML5 Conference 2016
by
Takeharu Igari
PDF
ブラウザにやさしいHTML/CSS
by
Takeharu Igari
PDF
今日から使える! HTML/CSS/JSの シンプルテクニック15選
by
Horiguchi Seito
PDF
HTML/CSSを効率的にする メタ言語とツールのアレコレ
by
知己 久保
PDF
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
by
Mori Kazue
PDF
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
by
Yoshiki Hayama
PDF
Web勉強会(HTML+CSS+JS入門の入門)
by
Noriaki UCHIYAMA
PDF
CSS の歩き方
by
Seiichiro Mishiba
E2E CSS Testing at HTML5 Conference 2016
by
Takeharu Igari
ブラウザにやさしいHTML/CSS
by
Takeharu Igari
今日から使える! HTML/CSS/JSの シンプルテクニック15選
by
Horiguchi Seito
HTML/CSSを効率的にする メタ言語とツールのアレコレ
by
知己 久保
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
by
Mori Kazue
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
by
Yoshiki Hayama
Web勉強会(HTML+CSS+JS入門の入門)
by
Noriaki UCHIYAMA
CSS の歩き方
by
Seiichiro Mishiba
What's hot
PDF
使いやすいWordPressのためのCSSのつくりかた
by
Hiroshi Urabe
PPTX
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
by
Shin Takeuchi
PDF
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
by
Horiguchi Seito
KEY
コーディングが上達するコツ
by
evol-ni
PDF
HTML5マークアップの心得と作法
by
Futomi Hatano
PDF
Css Architecture for the future 未来を見据えるCSS設計
by
Horiguchi Seito
PDF
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
by
Horiguchi Seito
PPTX
2016年版 フロントエンド開発フォーマット
by
Kenya Kodaira
PDF
まだ DOM 操作で消耗してるの?
by
Yuki Ishikawa
PDF
WordPressで作るポートフォリオサイト
by
Takuma Nishiyama
PDF
[Japanese] Style validator-html5etcstudy20151125
by
Takeharu Igari
PDF
設計から実装まで、今すぐ始める高速化
by
masaaki komori
PDF
Javaな人が気を付けるべきJavaScriptコーディングスタイル
by
Maaya Ishida
PDF
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
by
Kazuki Akiyama
PDF
サーバサイドエンジニアが 1年間まじめにSPAやってみた
by
Itaru Kitagawa
PDF
jQueryを中心としたJavaScript
by
hideaki honda
PPTX
マルチデバイス時代の高速化
by
Shin Takeuchi
PDF
SaCSS vol.56 こんなに素敵なBrackets!
by
Atsushi Handa
PDF
大規模サイトにおける本当は怖いCSSの話
by
井上 誠
PDF
今必要なCSSアーキテクチャ
by
Mayu Kimura
使いやすいWordPressのためのCSSのつくりかた
by
Hiroshi Urabe
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
by
Shin Takeuchi
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
by
Horiguchi Seito
コーディングが上達するコツ
by
evol-ni
HTML5マークアップの心得と作法
by
Futomi Hatano
Css Architecture for the future 未来を見据えるCSS設計
by
Horiguchi Seito
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
by
Horiguchi Seito
2016年版 フロントエンド開発フォーマット
by
Kenya Kodaira
まだ DOM 操作で消耗してるの?
by
Yuki Ishikawa
WordPressで作るポートフォリオサイト
by
Takuma Nishiyama
[Japanese] Style validator-html5etcstudy20151125
by
Takeharu Igari
設計から実装まで、今すぐ始める高速化
by
masaaki komori
Javaな人が気を付けるべきJavaScriptコーディングスタイル
by
Maaya Ishida
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
by
Kazuki Akiyama
サーバサイドエンジニアが 1年間まじめにSPAやってみた
by
Itaru Kitagawa
jQueryを中心としたJavaScript
by
hideaki honda
マルチデバイス時代の高速化
by
Shin Takeuchi
SaCSS vol.56 こんなに素敵なBrackets!
by
Atsushi Handa
大規模サイトにおける本当は怖いCSSの話
by
井上 誠
今必要なCSSアーキテクチャ
by
Mayu Kimura
Viewers also liked
PDF
大規模なJavaScript開発の話
by
terurou
PPTX
kintoneの大規模フロントエンド開発とツール
by
Yasuharu Sakai
KEY
デブサミ2012 kintoneの表と裏 - 表編
by
yo_waka
PPTX
学生・生徒のうちにやっておきたいこと、挑戦しておきたいこと
by
llamakko_cafe
PPTX
フェリーのすゝめ
by
Kazunori Hamamoto
PDF
無償版Visual StudioでいろいろWeb開発
by
Narami Kiyokura
PPTX
これだけ知っときゃなんとかなるVim
by
arisu yano
PDF
【プロ生松山】1日に100回デプロイできる開発環境の作り方 #pronama
by
智治 長沢
PPTX
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
by
Yuki Okada
PDF
Jenkins 再入門
by
Jumpei Miyata
PPT
Algorithm 速いアルゴリズムを書くための基礎
by
Kenji Otsuka
PDF
レッツゴーゆるふわ.Rb
by
Hiroshi Ogino
PDF
SWでKYT
by
You&I
PDF
ゆるふわCSS3
by
Mitsuru Ogawa
PDF
開発効率とゲームの面白さをあげるために、私が同人ゲームのチーム開発でがんばった10個くらいのこと
by
Shin Semiya
PDF
Elastic beanstalk と Docker と Play
by
Takashi Kawachi
PPTX
ネイティブコードを語る
by
Kenji Imasaki
PDF
JavaScript基礎勉強会
by
大樹 小倉
PDF
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
by
yoshikawa_t
PPTX
CordovaでAngularJSアプリ開発
by
アシアル株式会社
大規模なJavaScript開発の話
by
terurou
kintoneの大規模フロントエンド開発とツール
by
Yasuharu Sakai
デブサミ2012 kintoneの表と裏 - 表編
by
yo_waka
学生・生徒のうちにやっておきたいこと、挑戦しておきたいこと
by
llamakko_cafe
フェリーのすゝめ
by
Kazunori Hamamoto
無償版Visual StudioでいろいろWeb開発
by
Narami Kiyokura
これだけ知っときゃなんとかなるVim
by
arisu yano
【プロ生松山】1日に100回デプロイできる開発環境の作り方 #pronama
by
智治 長沢
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
by
Yuki Okada
Jenkins 再入門
by
Jumpei Miyata
Algorithm 速いアルゴリズムを書くための基礎
by
Kenji Otsuka
レッツゴーゆるふわ.Rb
by
Hiroshi Ogino
SWでKYT
by
You&I
ゆるふわCSS3
by
Mitsuru Ogawa
開発効率とゲームの面白さをあげるために、私が同人ゲームのチーム開発でがんばった10個くらいのこと
by
Shin Semiya
Elastic beanstalk と Docker と Play
by
Takashi Kawachi
ネイティブコードを語る
by
Kenji Imasaki
JavaScript基礎勉強会
by
大樹 小倉
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
by
yoshikawa_t
CordovaでAngularJSアプリ開発
by
アシアル株式会社
Similar to メンテナブルなJsってなんだろう
PDF
Kanazawa.js.Next
by
dynamis
PDF
JavaScript.Next
by
dynamis
PDF
JavaScript.Next Returns
by
dynamis
ODP
今流行りのウェブアプリ開発環境Yeoman
by
tomo_masakura
PDF
JSer Class #1
by
mizuky fujitani
PDF
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
by
Yahoo!デベロッパーネットワーク
PDF
わかるコードを書くために For writing clean code
by
Eyes, JAPAN
PDF
JavaScriptことはじめ
by
Yuki Ishikawa
PPTX
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
by
Kondo Hitoshi
KEY
いまさらJavaScript
by
Naomichi Yamakita
PDF
大(中)規模Java script開発について
by
Yuki Tanaka
PDF
TypeScript 勉強会
by
Masahiro Wakame
PDF
JS開発におけるTDDと自動テストツール利用の勘所
by
Koji Nakamura
PDF
JavaScript/CSS 2015 Autumn
by
Koji Ishimoto
Kanazawa.js.Next
by
dynamis
JavaScript.Next
by
dynamis
JavaScript.Next Returns
by
dynamis
今流行りのウェブアプリ開発環境Yeoman
by
tomo_masakura
JSer Class #1
by
mizuky fujitani
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
by
Yahoo!デベロッパーネットワーク
わかるコードを書くために For writing clean code
by
Eyes, JAPAN
JavaScriptことはじめ
by
Yuki Ishikawa
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
by
Kondo Hitoshi
いまさらJavaScript
by
Naomichi Yamakita
大(中)規模Java script開発について
by
Yuki Tanaka
TypeScript 勉強会
by
Masahiro Wakame
JS開発におけるTDDと自動テストツール利用の勘所
by
Koji Nakamura
JavaScript/CSS 2015 Autumn
by
Koji Ishimoto
メンテナブルなJsってなんだろう
1.
メンテナブルなJSってなんだろう松元 @datomotu2014/ 0
6 /1 4
2.
自己紹介名前松元 大樹(まつもと だいき)@datomotu出身広島好きな言語JavaScript好きななにか運動、アクアリウム、カメラ、YouTubeサイボウズ株式会社(4年目)松山開発部
PG
3.
サイボウズについてサイボウズについてちょこっと紹介させてください。
4.
サイボウズについてhttp://cybozu.co.jp/company/job/recruitment/business/
5.
サイボウズについてhttps://www.cybozu.com/jp/service/
6.
今から話すことメンテナブルなJSを書くために現在プロジェクトで行っている取り組みの話
7.
今から話すことメンテナブルなJSを書くために現在プロジェクトで行っている取り組みの話TypeScriptの話は出てきません。
8.
経緯
9.
経緯サイボウズ Office
10.
経緯サイボウズ Office• ここ数年JSでの開発が増えている
11.
経緯サイボウズ Office• ここ数年JSでの開発が増えている•
ライブラリのぞいて2万5千行くらい
12.
経緯050001000015000200002500030000合計
13.
経緯JSのメンテナンスコストが日々増大していっている感じがする
14.
経緯JSのメンテナンスコストが日々増大していっている感じがする• スタイルがファイルによって異なる• コードを探すのが大変
15.
経緯JSのメンテナンスコストが日々増大していっている感じがする• スタイルがファイルによって異なる• コードを探すのが大変•
影響範囲が予測できない• JSのUnitテストがない• コード変更が億劫に
16.
経緯要はメンテナブルじゃない!
17.
経緯要はメンテナブルじゃない!メンテナブルにしたい!
18.
経緯要はメンテナブルじゃない!メンテナブルにしたい!メンテナブル化←イマココ
19.
経緯要はメンテナブルじゃない!メンテナブルにしたい!メンテナブル化プロ生愛媛←イマココ
20.
メンテナブルとは?
21.
メンテナブルとは?ちゃんとしてるなんかいい感じ
22.
メンテナブルとは?読みやすい。変更しやすい。追加しやすい。
23.
メンテナブルとは?読みやすい。変更しやすい。追加しやすい。• 読みやすい• コードのスタイルが統一されている。整っている。
24.
メンテナブルとは?読みやすい。変更しやすい。追加しやすい。• 読みやすい• コードのスタイルが統一されている。整っている。•
変更しやすい。追加しやすい。• テスト• ドキュメントがちゃんとしている(賛否両論)
25.
メンテナブルとは?読みやすい。変更しやすい。追加しやすい。• 読みやすい• コードのスタイルが統一されている。整っている。•
変更しやすい。追加しやすい。• テスト• ドキュメントがちゃんとしている(賛否両論)
26.
読みやすい。を目指す
27.
読みやすい。を目指す状況• スタイルガイドがゆるい• その時代時代のスタイルで書かれている•
PGの数だけ存在しているコーディングスタイル!
28.
読みやすい。を目指す行ったこと• スタイルガイドの作成• 静的解析•
自動整形
29.
読みやすい。を目指す行ったこと• スタイルガイドの作成• 静的解析•
自動整形
30.
読みやすい。を目指す– スタイルガイドの作成スタイルガイドを作成する必要がある?
31.
読みやすい。を目指す– スタイルガイドの作成他所から輸入するのじゃだめ?
32.
読みやすい。を目指す– スタイルガイドの作成他所から輸入するのじゃだめ?NG• 既存コードとの兼ね合い
33.
読みやすい。を目指す– スタイルガイドの作成おれおれスタイルガイドを作ってからチームに広める?
34.
読みやすい。を目指す– スタイルガイドの作成おれおれスタイルガイドを作ってからチームに広める?NG• 本当に良いスタイルなのか分からない•
大変
35.
読みやすい。を目指す– スタイルガイドの作成おれおれスタイルガイドを作ってからチームに広める?NG• 本当に良いスタイルなのか分からない•
大変• おれが嫌われる・反感買う• チームワーク崩壊の恐れ
36.
読みやすい。を目指す– スタイルガイドの作成みんなで一緒にスタイルガイドを作る?
37.
読みやすい。を目指す– スタイルガイドの作成みんなで一緒にスタイルガイドを作る?• 本当にプロジェクトに合ったスタイルを見つけられる
38.
読みやすい。を目指す– スタイルガイドの作成みんなで一緒にスタイルガイドを作る?• 本当にプロジェクトに合ったスタイルを見つけられる•
スタイルガイドの存在を脳裏に・・• そういえばスタイルガイド決めたなー• 自分たちで決めたルールだから守らねば!
39.
読みやすい。を目指す– スタイルガイドの作成みんなで一緒にスタイルガイドを作る?• 本当にプロジェクトに合ったスタイルを見つけられる•
スタイルガイドの存在を脳裏に・・• そういえばスタイルガイド決めたなー• 自分たちで決めたルールだから守らねば!• おれが悪者にならない
40.
読みやすい。を目指す– スタイルガイドの作成みんなで作ろう!スタイルガイド!
41.
読みやすい。を目指す– スタイルガイドの作成作り方• 各スタイルについて全員で議論•
自分たちのスタイルガイドに記載するべき内容なのか。• どう記載するのがベストか。
42.
読みやすい。を目指す– スタイルガイドの作成作り方• 各スタイルについて全員で議論•
自分たちのスタイルガイドに記載するべき内容なのか。• どう記載するのがベストか。• 決まったスタイルは即スタイルガイドに記載!
43.
読みやすい。を目指す– スタイルガイドの作成
44.
読みやすい。を目指す– スタイルガイドの作成• 第I部
スタイルガイドライン• 第II部 プログラミング実践• 第III部 自動化• 付録 A JavaScriptスタイルガイド• 付録 B JavaScriptツール
45.
読みやすい。を目指す– スタイルガイドの作成具体的な進め方• 毎週1時間の輪講を行う•
一回で1章くらい進む• 1~4章なので4時間。約一ヶ月で完成する
46.
読みやすい。を目指す– スタイルガイドの作成• 第I部
スタイルガイドライン• 1~4章• 第II部 プログラミング実践• 5~12章• 第III部 自動化• 13~20章
47.
読みやすい。を目指す– スタイルガイドの作成たとえば
48.
読みやすい。を目指す– スタイルガイドの作成• ECMAScriptはキャメルケースで書かれている•
小文字で始まり、その後に頭文字が大文字で単語が続く(LCC)
49.
読みやすい。を目指す– スタイルガイドの作成• ECMAScriptはキャメルケースで書かれている•
小文字で始まり、その後に頭文字が大文字で単語が続く(LCC)• 一般論として、使用しているコア言語に従った命名規則を常に使うべき
50.
読みやすい。を目指す– スタイルガイドの作成• ECMAScriptはキャメルケースで書かれている•
小文字で始まり、その後に頭文字が大文字で単語が続く(LCC)• 一般論として、使用しているコア言語に従った命名規則を常に使うべき• Google SproutCore Dojoもほとんどの状況でキャメルケース
51.
読みやすい。を目指す– スタイルガイドの作成• 変数名は名詞で始まるようにすべき•
名詞で始めることで変数を区別するのに役立つ
52.
読みやすい。を目指す– スタイルガイドの作成• 変数名は名詞で始まるようにすべき
53.
読みやすい。を目指す– スタイルガイドの作成• 関数は動詞で始めるべき
54.
読みやすい。を目指す– スタイルガイドの作成• 関数は動詞で始めるべき
55.
読みやすい。を目指す– スタイルガイドの作成• 関数の先頭は動詞にすべき•
よく使われる動詞動詞 意味can ブーリアンを返すhas ブーリアンを返すis ブーリアンを返すget 非ブーリアンを返すset 値を保存するために使われる
56.
読みやすい。を目指す– スタイルガイドの作成• 可能な限り変数名は短くすべき
57.
読みやすい。を目指す– スタイルガイドの作成• 可能な限り変数名は短くすべき•
変数名からデータ型が分かるとよい• count,length,sizeは数値• name,title,messageは文字列• i,j,kはループの中で使用される
58.
読みやすい。を目指す– スタイルガイドの作成• 可能な限り変数名は短くすべき•
変数名からデータ型が分かるとよい• count,length,sizeは数値• name,title,messageは文字列• i,j,kはループの中で使用される• 無意味な名前は避けるべき• foo,bar,temp
59.
読みやすい。を目指す– スタイルガイドの作成このぐらい初歩的なところから議論
60.
読みやすい。を目指す– スタイルガイドの作成
61.
読みやすい。を目指す– スタイルガイドの作成
62.
読みやすい。を目指す– スタイルガイドの作成大変だったところ• 好みの違いによる論争議論•
インデントの好み• function(){ vs function() { vs function () {• “ vs ‘• 議論の基準を設けた• 既存コードの兼ね合い• メリット・デメリット• デグレリスク• それでも決まらないときは多数決
63.
読みやすい。を目指す– スタイルガイドの作成問題点• メンテナブルJavaScriptⅠ部のスタイルガイドラインの章だけでは網羅できない•
足りないスタイルガイドを列挙して議論する
64.
読みやすい。を目指す– スタイルガイドの作成よかったところ• スタイルで悩む時間がなくなる•
レビューしやすい
65.
できた!スタイルガイド!やったー
66.
でもスタイルガイドに合わせて書くの正直、めんどくさい
67.
何が正解なのか忘れる。
68.
機械的に確認できるところは考えたくない!
69.
読みやすい。を目指す行ったこと• スタイルガイドの作成• 静的解析•
自動整形
70.
読みやすい。を目指す– 静的解析• JSHintを導入•
スタイルガイドに合わせてJSHintのオプションを調整
71.
読みやすい。を目指す– 静的解析• 開発環境で解析できるようにする•
Grunt• CI(Jenkins)に乗せる
72.
読みやすい。を目指す– 静的解析CIの解析では、既存のコードで発生している警告をすべて無効化.jshintrcファイル
73.
読みやすい。を目指す– 静的解析既存のコードをコツコツ直して警告を有効化していく
74.
読みやすい。を目指す– 静的解析jshintでチェックできるスタイルガイドは明示する
75.
読みやすい。を目指す– 静的解析jshintでチェックできるスタイルガイドは明示する
76.
読みやすい。を目指す– 静的解析大変だったところ• エラーですぎw•
数え切れない• 意味が分からない警告の調査
77.
読みやすい。を目指す– 静的解析大変だったところ• エラーですぎw•
数え切れない• 意味が分からない警告の調査問題点• 終わらない警告つぶし• ローカルで走らせるのが手間
78.
読みやすい。を目指す– 静的解析良かったところ• 勉強になった。•
CIでよくないコードを教えてくれるようになった。
79.
深く考えなくても一貫性あるコードが書ける!
80.
jsHintさん細かいこと指摘しすぎめんどくさい
81.
インデントとか、一行の文字数とか
82.
読みやすい。を目指す• 行ったこと• スタイルガイドの作成•
静的解析• 自動整形
83.
読みやすい。を目指す– 自動整形• jsbeautifierを用意•
スタイルガイドに合わせてオプションを設定• gituhubhttps://github.com/einars/js-beautify• grunt-jsbeautifirhttps://www.npmjs.org/package/grunt-jsbeautifier
84.
読みやすい。を目指す– 自動整形▼Online JavaScript
beautifierhttp://jsbeautifier.org/
85.
読みやすい。を目指す– 自動整形問題点• 差分が多いので危険•
コメントのインデントを縦にそろえている個所が崩れる• 問題個所がないか一応人力で確認する必要がある
86.
読みやすい。を目指す– 自動整形良かったところ• 新規に書くコードはスタイルガイドに合った整形を行ってからコミットできるようになった。
87.
美しい!整形素敵!
88.
差分多すぎ
89.
怖くてマージできない
90.
メンテナブルとは?読みやすい。変更しやすい。追加しやすい。• 読みやすい• コードのスタイルが統一されている。整っている。•
変更しやすい。追加しやすい。• テスト• ドキュメントがちゃんとしている(賛否両論)
91.
変更しやすい。追加しやすい。を目指す
92.
変更しやすい。追加しやすい。 を目指す状況• Seleniumを使ったテストはあるけどJSのUnitテストは存在しない•
コードの書き方(知識)が人それぞれ
93.
変更しやすい。追加しやすい。 を目指す行ったこと• Unitテスト•
実践的JS勉強会
94.
変更しやすい。追加しやすい。 を目指す行ったこと• Unitテスト•
実践的JS勉強会
95.
読みやすい。を目指す– 静的解析• Mocha
+ expect.js + Sinon.JSでテストを書く• Karmaで実行・レポーティング
96.
読みやすい。を目指す– 静的解析• テストテンプレートを自動作成するスクリプトを用意•
ボタン一つですぐテストを書き始められる
97.
変更しやすい。追加しやすい。 を目指す– テスト
98.
テストで安心!
99.
テスト書きやすいコードって?
100.
変更しやすいJSって?
101.
変更しやすい。追加しやすい。 を目指す行ったこと• Unitテスト•
実践的JS勉強会
102.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会
103.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会•
第I部 スタイルガイドライン• 1~4章• 第II部 プログラミング実践• 5~12章• 第III部 自動化• 13~20章
104.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会たとえば
105.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会
106.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会•
他のイベントでも、ポップアップを表示したくなったら?• テストしにくい
107.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会改善1アプリケーションロジックを切り離す
108.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会
109.
• showPopupのインタフェースから必要なプロパティがわからない• clientX,
clientYしか使っていない• テストしにくい変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会
110.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会改善2イベントオブジェクトを引き回さない
111.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会
112.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会•
テストにMyApplication.showPopup(10, 10);と書けて大勝利• eventオブジェクトに触る関数はイベントハンドラだけにするのがベスト• stopPropagationとかpreventDefaultとかもhandleclickの中に
113.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会みたいな感じの輪講
114.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会•
これは守ったほうが良いという内容はスタイルガイドに記載• スタイルガイド+ プログラミング実践• スタイルガイド→ 総合的なコード規約
115.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会悪いところ•
物足りない
116.
変更しやすい。追加しやすい。 を目指す– 実践的JS勉強会良かったところ•
チームの最初の一歩にちょうど良い• JS知識の底上げ
117.
学び + 今後の話
118.
学びチームに浸透させるには• 押しつけ感をださない• できるところからこつこつじわじわと•
自動化できるところは自動化しておく• たまに煽る
119.
今後やっていきたいこと①• 引き続き• 実践的JS勉強会•
jshint警告抑制を解除していく• 無理そうなところはインラインで警告抑制する• 全体では有効にする
120.
今後やっていきたいこと①• 引き続き• 実践的JS勉強会•
jshint警告抑制を解除していく• 無理そうなところはインラインで警告抑制する• 全体では有効にする• テストとかjshintを開発環境で実行するのをもっと簡単にしたい
121.
今後やっていきたいこと②• 整形を自動化できないか
122.
今後やっていきたいこと②• 整形を自動化できないか• grunt-complexityで複雑なコードがプッシュされたら警告
123.
ありがとうございました。2014/ 0 6
/1 4
Editor's Notes
#4
世界中のチームワークを良くすることMission 世界中のチームワーク向上に貢献するVision世界で一番使われるグループウェアメーカーになるCoreValue顧客体験のすべてにおいて「Fast&Easy+Entertain」を
#5
新卒サイトのキャプチャ世界中のチームワークを良くすることMission 世界中のチームワーク向上に貢献するVision世界で一番使われるグループウェアメーカーになるCoreValue顧客体験のすべてにおいて「Fast&Easy+Entertain」を
#6
グループウェアホームページのキャプチャ
#15
コードを書くときにこれが原因でどんなやりにくさがあるか 探すのが大変とか。影響範囲がわからない。JSのUnitテストはない 周りに合わせてスタイルを整える
#16
コードを書くときにこれが原因でどんなやりにくさがあるか 探すのが大変とか。影響範囲がわからない。JSのUnitテストはない 周りに合わせてスタイルを整える
#64
既存のコードを確認多数決
#71
問題を強調(覚えきれねぇ)CIにのせる
#73
えらーでまくる
#75
どういう方針で進めていくか
Download
[8]
ページ先頭
©2009-2025
Movatter.jp