2015年7月24日金曜日

最近の開発について

最近、開発が好きだ。
そう言うと変だって言われそう。
でも考えてみてほしい。開発ってすごいよ。
CocoaPodsには良質なライブラリがいっぱい。
Xcode。綺麗なフレームワークと怖いクラッシュ。
github。毎日が芝生。
何でもあってまるで一つの国みたい。こんな変な職業、ほかにない。
中でも私が好きなのは……。


こんにちは、田中です。
がっこうぐらし楽しいです。
最近、今度インターンに行く先の方と一緒にMacアプリを個人プロジェクトとして開発させていただいているのですが、それが楽しくて仕方ありません。
なのでその楽しいことを書いていきます。


・GitHubが楽しい

普段はオレオレルールでGit管理してました。
一人でやるときだと大体ローカルのプロジェクトに何かあったときに復元できたらいいやー、くらいな感じで...。(良くない)
今回一緒にやっていただいてる方からより良いGitHub運用の仕方・文化を教えていただいたり、便利なツールを紹介していただいたり、各コミットに対してこうした方が良いのではないかと議論したり、プロジェクトの仕様についてどんな方針で進めていくのがベターかなど話し合ったりするのが楽しくて仕方ない!!
そうや!ワイはこんな開発がしたかったんや!!という気持ち。

- GitHubの運用

大きくは二つ教えていただきました。

1.issueやブランチには必ず"WHY"と"WHAT"を書こう
例えばこんな感じ。


うーん、例があんまり良くないけど...w
WHYにはその機能をなぜ実装するのかを書き、
WHATにはその機能を実装するために何をするのかを書きます。
よく見るとこの例のWHATの書き方は良くないかもしれないです。
ベターな書き方は

・Cmd+Rキーを押したイベントを取得する
・イベント取得時にTableViewを更新する

などでしょうか。

2.commitはこまめに、pushもこまめに
commitはこまめに、は言わずもがな、一つ一つの変更点を細かく区切っていくことでdiffを読みやすくするためとかですね。
pushをこまめにするのは人と共同で作業する上で大事なことです。
プルリクエストを出してpushをこまめにしていくことで、早い段階で仕様があやふやな部分や、より良い実装についてチームで議論することができるからです。
こまめにpushしていくことで議論する機会も増えるので早く気付けて、早くスキルアップしていけるように感じました。


便利なツール

ツールに関してはまだかなり慣れてない部分あるので正しくないことをいうかもしれません。ご指摘お待ちしています。

1.gitter

gitterはGitHubのリポジトリごとにチャットルームが開かれるSlackみたいなやつです。
そこでプロジェクトの方針についてチャットしたり、共有メモを書いたりしています。
便利なのがGitHub上の動向が表示される機能で、他の人がCommitしたことやCommentをくれたことに気づくことができてとてもはかどります。

2.Bundler

BundlerはGemのバージョン管理などができます。
CocoaPodsなどもGemなので、CocoaPodsのバージョンが人によって違うことで開発に支障をきたすことがなくなります。
まだこれにはあまり慣れてません、要復習

3.rbenv

rbenvは複数バージョンのRubyを切り替えてくれるツール。
そもそもRubyのバージョンが揃ってなくてダメって状況を防いでくれるんでしょうか。
これについてもまだよく理解してないので要復習。

4.homebrew

Mac要のパッケージマネージャ。
よくbrew hogehogeとかそんな感じでMacにインストールしたりすることがあると思いますが、アレです。
以前から使っていたような気がしたのですが、インストールされてなかったので先日から使い始めました。
調べ物してたりするとこれでパッケージを突っ込んだりすることがあるので必要なツール

5.Chisel

iOS開発のデバッグツール。神っぽい。
XCodeだとデバッグ中にブレークポイントで止めてpo objectコマンドでオブジェクトの内容を見たりすることがありますが、それの強化版のようなもの。
アドレス指定でUI要素に対してborderをつけたり、色をつけたりできる!!
あとは指定のオブジェクトが階層上のどこにあるかなどを調べたりも出来るのでとても良さげ。
インストールしてセッティングしたつもりなのだけれど、うまく動作してない部分があるようなのであとで調べます。
Chiselがどんなものかはこちらを参考にさせていただきました。
yidev@恵比寿勉強会 で chisel について発表してきた (動画付き)


まだまだツールの使い方やコードの書き方も不慣れなところありますが、少しずつ慣れていこうと思います。
新しいことにどんどん触れるのは楽しいし、人とコミュニケーションをとりながら進める開発楽しい、という感想でした、まる

0 件のコメント:

コメントを投稿