アプリ開発を効率化する 方法あれこれ
Upcoming SlideShare
Loading in...5
×
 

アプリ開発を効率化する 方法あれこれ

on

  • 28,231 views

アプリ開発以外にも適用できる効率化についてあれこれいってます。

アプリ開発以外にも適用できる効率化についてあれこれいってます。

Statistics

Views

Total Views
28,231
Views on SlideShare
27,845
Embed Views
386

Actions

Likes
111
Downloads
128
Comments
0

19 Embeds 386

https://twitter.com 86
http://macmini 80
http://s.deeeki.com 79
https://si0.twimg.com 39
http://d.hatena.ne.jp 36
http://slideshare.yuza.net 21
https://twimg0-a.akamaihd.net 14
http://slideshare.yuzar.net 8
http://localhost 7
http://party4r.com 3
http://www.pinterest.com 2
http://tweetedtimes.com 2
http://192.168.245.161 2
http://a0.twimg.com 2
http://192.168.245.162 1
http://jpslideshare 1
http://www.instapaper.com 1
http://twitter.com 1
http://b.hatena.ne.jp 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

アプリ開発を効率化する 方法あれこれ アプリ開発を効率化する 方法あれこれ Presentation Transcript

  • アプリ開発を効率化する 方法あれこれ 面白法人カヤック HTMLファイ部 溝上篤司
  • アプリ開発に限らない アプリ開発を効率化する 方法あれこれ 面白法人カヤック HTMLファイ部 溝上篤司
  • 本日のアジェンダ・良い名前、つけてますか?・テスト、書いてますか?・自動化、してますか?・ツール、作ってますか?の4本です。
  • 自己紹介Facebook : Atsushi MizoueTwitter : asion_m・Vimが大好きで社内で布教&プラグイン作成なんかやってます・JavaScriptも大好きで最近仕事ではほとんどJSしか書いてません。・麦酒が血液です。
  • 自己紹介 部署名は 冗談のようですが 本当です。
  • 自己紹介 部署名は 冗談のようですが 本当です。 ※この部署名になってから HTML5の案件が激増したそうです
  • さて 本題です。
  • 本題 良い名前、 つけてますか?
  • 良い名前、つけてますか?例えば HTMLファイ部
  • 良い名前、つけてますか?どこからどう読んでもHTML5の制作を行う部署です。本当に(ry
  • 良い名前、つけてますか?では次の変数は何をしてるか 想像できるでしょうか?
  • 良い名前、つけてますか?では次の変数は何をしてるか 想像できるでしょうか? var mvCnt;
  • 良い名前、つけてますか?想像される答え
  • 良い名前、つけてますか?想像される答え・カウントアップ?・てかそもそもmvって何?・一体なんのカウントなんだ・・・
  • 良い名前、つけてますか?想像される答え 前後の・カウントアップ? プログ・てかそもそもmvって何? ラムを・一体なんのカウントなんだ・・・見ない とわか らん!
  • 良い名前、つけてますか?正解は
  • 良い名前、つけてますか?正解はオブジェクトの移動(Move)を管理するControllerのインスタンスでした。
  • 良い名前、つけてますか?正解はオブジェクトの移動(Move)を管理するControllerのインスタンスでした。※制作者:過去の自分
  • 良い名前、つけてますか?正解はオブジェクトの移動(Move)を管理するControllerのインスタンスでした。※制作者:過去の自分 爆発すればいいのに
  • 良い名前、つけてますか? ちなみに
  • 良い名前、つけてますか? ちなみに 無駄にした時間は 1時間でした。
  • 良い名前、つけてますか?今考えたような事 よくありませんか?
  • 良い名前、つけてますか?良い名前をつけておけば考えたり、調べるのに使った時間は必要なかったはず。
  • 良い名前、つけてますか?良い名前をつけておけば考えたり、調べるのに使った時間は必要なかったはず。例えば var moveCtrl;
  • わかりやすい名前は効率化の第一歩 良い名前をつければ 調べる時間が減る。
  • わかりやすい名前は効率化の第一歩個人的な経験ですが、
  • わかりやすい名前は効率化の第一歩個人的な経験ですが、Webアプリは所謂普通のWebサイトより更新頻度が高い。
  • わかりやすい名前は効率化の第一歩 故に
  • わかりやすい名前は効率化の第一歩 ただでさえ読む時間が長い プログラムを読む時間が 更に長くなる。
  • わかりやすい名前は効率化の第一歩 =
  • わかりやすい名前は効率化の第一歩キーを打つコストより理解にかかる時間のコストのほうが高くなる
  • わかりやすい名前は効率化の第一歩キーを打つコストより理解にかかる時間のコストのほうが高くなる ※いくら名前が長くなろうが 補完で大体なんとかなりますよね?
  • わかりやすい名前は効率化の第一歩 例
  • 良い名前、つけてますか?✕ var sp = new Sprite();◯ var sprite = new Sprite();✕ var av = new Avatar();◯ var avatar = new Avatar();✕ var ext = new ExternalInterface();◯ var external = new ExternalInterface();
  • 良い名前、つけてますか? 省略形を なるべく使わない。 ※よく使われる省略形でも ちょっと考えてみる。
  • さて では次。
  • テスト駆動開発 テスト、 書いてますか?
  • テスト駆動開発「JavaScriptでテスト?」
  • テスト駆動開発「JavaScriptでテスト?」「テスト書くの面倒臭くない?」
  • テスト駆動開発「JavaScriptでテスト?」「テスト書くの面倒臭くない?」「”シンプル”だからテストはいいや」
  • テスト駆動開発「JavaScriptでテスト?」「テスト書くの面倒臭くない?」「”シンプル”だからテストはいいや」「テストって何書いていいかわからない」
  • テスト駆動開発「JavaScriptでテスト?」「テスト書くの面倒臭くない?」「” シンプル”だからテストはいいや」「テストって何書いていいかわからない」「後で書くよ後で」
  • テスト駆動開発 死亡フラグです。
  • テスト駆動開発 テスト駆動開発 (TDD)は 効率化 の手法です。
  • TDDは効率化の手法・JavaScriptこそテストを書かないとやってられない
  • TDDは効率化の手法・JavaScriptこそテストを書かないとやってられない・テストを書かないほうが面倒臭い
  • TDDは効率化の手法・JavaScriptこそテストを書かないとやってられない・テストを書かないほうが面倒臭い・本当にシンプルですか?
  • TDDは効率化の手法・JavaScriptこそテストを書かないとやってられない・テストを書かないほうが面倒臭い・本当にシンプルですか?・テストを書けないことは大抵書かない方が良い
  • TDDは効率化の手法・JavaScriptこそテストを書かないとやってられない・テストを書かないほうが面倒臭い・本当にシンプルですか?・テストを書けないことは大抵書かない方が良い・本当に後から書いたことありますか?
  • TDDは効率化の手法JavaScriptこそテストを書かないとやってられない
  • TDDは効率化の手法JavaScriptこそテストを書かないとやってられない・実行環境を限定することが(まず)出来ない
  • TDDは効率化の手法JavaScriptこそテストを書かないとやってられない・実行環境を限定することが(まず)出来ない・ブラウザを限定することも(大抵)出来ない
  • TDDは効率化の手法JavaScriptこそテストを書かないとやってられない・実行環境を限定することが(まず)出来ない・ブラウザを限定することも(大抵)出来ない・例え限定出来たとしても
  • TDDは効率化の手法JavaScriptこそテストを書かないとやってられない・実行環境を限定することが(まず)出来ない・ブラウザを限定することも(大抵)出来ない・例え限定出来たとしても全対象に手作業でチェックする・・・だと・・・
  • TDDは効率化の手法JavaScriptこそテストを書かないとやってられない 死亡・実行環境を限定することが(まず)出来ない・ブラウザを限定することも(大抵)出来ない フラ・例え限定出来たとしても全対象に手作業でチェックする・・・だと・・・ グ
  • TDDは効率化の手法・テスト書かないほうが面倒臭いJavaScriptの実行環境は(ほぼ)ブラウザ。
  • TDDは効率化の手法・テスト書かないほうが面倒臭いJavaScriptの実行環境は(ほぼ)ブラウザ。 アップデートのたびに何らつまりかの方法で動作チェックをしなければならない。
  • TDDは効率化の手法・テスト書かないほうが面倒臭い 死亡JavaScriptの実行環境は(ほぼ)ブラウザ。 フラ アップデートのたびに何らつまりばならない。 グかの方法で動作チェック をしなけれ
  • TDDは効率化の手法・本当にシンプルですか?なぜシンプルだと思ったのでしょうか。
  • TDDは効率化の手法・本当にシンプルですか?なぜシンプルだと思ったのでしょうか。誰かに「シンプルだから〜」と言われた場合、
  • TDDは効率化の手法・本当にシンプルですか?なぜシンプルだと思ったのでしょうか。誰かに「シンプルだから〜」と言われた場合、 まず間違いなく シンプルではない。
  • TDDは効率化の手法・本当にシンプルですか?なぜシンプルだと思ったのでしょうか。誰かに「シンプルだから〜」と言われた場合、 まず間違いなく シンプルではない。 (少なくともプログラムは)
  • TDDは効率化の手法・本当にシンプルですか?なぜシンプルだと思ったのでしょうか。 死亡誰かに「シンプルだから〜」と フラ言われた場合、 グ まず間違いなく シンプルではない。 (少なくともプログラムは)
  • TDDは効率化の手法・テストを書けないことは書かない方が良い何のテストを書けばいいかわからないということは
  • TDDは効率化の手法・テストを書けないことは書かない方が良い何のテストを書けばいいかわからないということは 今から何をするか よくわかってない
  • TDDは効率化の手法・テストを書けないことは書かない方が良い何のテストを書けばいいか 死亡わからないということは フラ 今から何をするか グ よくわかってない
  • TDDは効率化の手法・本当に後で書いたことありますか?後から書くテストは非常に書きにくいです。
  • TDDは効率化の手法・本当に後で書いたことありますか?後から書くテストは非常に書きにくいです。なぜなら
  • TDDは効率化の手法・本当に後で書いたことありますか?後から書くテストは非常に書きにくいです。なぜなら・やる気がでない
  • TDDは効率化の手法・本当に後で書いたことありますか?後から書くテストは非常に書きにくいです。なぜなら・やる気がでない・そもそもテストが書きにくい
  • TDDは効率化の手法・本当に後で書いたことありますか?後から書くテストは非常に書きにくいです。なぜなら・やる気がでない・そもそもテストが書きにくい・「 動いてるからいいや」
  • TDDは効率化の手法・本当に後で書いたことありますか?後から書くテストは非常に書きにくいです。 死亡なぜなら・やる気が フラ でない グ・そもそもテストが書きにくい・「 動いてるからいいや」
  • TDDは効率化の手法TDDは数々の死亡フラグを回避する手段を与えてくれます。
  • TDDは効率化の手法TDDは数々の死亡フラグを回避する手段を与えてくれます。例:Q.「このメソッドの使い方がわからん」
  • TDDは効率化の手法TDDは数々の死亡フラグを回避する手段を与えてくれます。例:Q.「このメソッドの使い方がわからん」 テスト見ろ」A.「
  • TDDは効率化の手法 が、しかし
  • TDDは効率化の手法 コード全てに対して テストを書くのは 結構非効率です。
  • TDDは効率化の手法 テストを書かなくてもいいもの
  • TDDは効率化の手法 テストを書かなくてもいいもの・ロールオーバみたいに使い古されてる・jQueryなどの一般的なライブラリ・既にテストが書かれているもの・アクセサーなど超簡単なもの
  • TDDは効率化の手法 テストを書かなくてもいいものしかし書いた方がいい、と思えば書いた方がいい。※例えば「怪しい・・・」と思った箇所だけ書く等
  • TDDは効率化の手法 個人的なおすすめ
  • TDDは効率化の手法 個人的なおすすめ Jasmine http://pivotal.github.com/jasmine/
  • TDDは効率化の手法Jasmineは
  • TDDは効率化の手法Jasmineは・読みやすい・お手軽・必要な物が揃ってるです。
  • TDDは効率化の手法Jasmineは・読みやすい・お手軽・必要な物が揃ってるです。※あくまで個人の感想です※用法容量を守ってお使いください。
  • TDDは効率化の手法 実際にやってみる
  • 実際にやってみるhttp://www.youtube.com/watch?v=iD4SgRFGltw
  • さて お分かりいただけたでしょうか。
  • 自動化、してますか?
  • 自動化、してますか?・js作成時にテンプレートを適用・js保存時にgjslintを実行・js上でコマンド実行でテストのテンプレートを作成etc...
  • 自動化、してますか? 自動化出来ることは 徹底的に自動化 する。
  • 自動化、してますか?自分のやり方から最適な「自動化」を考える・保存してミニファイ → 保存したらミニファイ・html書いてcss書く → htmlからcssのスケルトンをつくる・jsファイル作ってテスト用ファイルもつくる → jsからテストテンプレートを作る
  • 自動化、してますか?http://www.youtube.com/watch?v=uxHv7nwYFko&feature=youtu.be
  • では ツールの作り時は いつなのか。
  • ツール、作ってますか?「なんかこれ 前もやったな・・・」「面倒臭いな・・・」「誰かに やって欲しい・・・」などなど
  • ツール、作ってますか? 「でも 作る時間ないし・・・」
  • ツール、作ってますか?個人的なおすすめの方法
  • ツール、作ってますか?個人的なおすすめの方法 1日30分〜1時間くらい ツール作成に当てる。
  • ツール、作ってますか? Q.「仕事の時間なのに・・・?」
  • ツール、作ってますか? A.画面を見られても プログラム書いてる ようにしか見えないので 大丈夫(ry
  • ツール、作ってますか?その他の解決方法・作ったものを 共有する・意見を取り入れ 徐々に汎用的にする・息抜きにつくる( どうせ30分などなど
  • ツール、作ってますか? 今使った30分の元が 将来取れる想定なら 何も迷う必要はない。
  • まとめ・命名はすっごい大事・テスト書くプログラマは良いプログラマ・自動化するとめっちゃ楽・ツール作ると楽しいよ!
  • 自動化ツール制作した自動化ツール色々(ほぼvimhttps://github.com/AtsushiM
  • ご清聴ありがとうございました!