よいソフトウェアを作るプログラミングとは
TRANSCRIPT
よいソフトウェアを作るプログラミングとは
3.個人として
勉強法
仕事を通じて
趣味でOSSのコード読む
本はあまり読まない
きっかけ人の発言
FWなどOSSのコードの中
MochiKitpythonの関数概念
JSは多言語からパラダイムを持ち込まれやすい?
個人でコード書く
本について脳に負担がかかっているか?勉強しているに違いない!
2.企業人として
Web 土日
文化
30人のプログラマ
フルフレックスノッてきたから深夜3時までやるとか
一日のはじまりが曖昧
プロトタイプ→確認→OK→テストコード作成→本体へマージ
プロトタイプ
チームでコード書く
大企業 大人数 レビューしてもらう→チェックイン
スケジュール 海外の人にレビュー依頼
つかまるよう時差を考慮
1.人生的トピック プログラマになったきっかけ
@hotchpotch 卒研
tDialyにコミット
コミュニティからの反応
求職 @omo2009「新卒やめて自分に何ができるか」
@hotchpotch まだ20代だしマネジメントでなくコード書いていたい
4.技術について
利用者数と品質
比例しないことが多い
美しいコード
Y!のS4はひどいサンプルや性能評価のコードが少ない
Tituniumのモバイル版
MySQLはひどいC++は基本ひどい?
IDEのプラグインとかすごいコード保管
リファクタリング
Webサービスサービス自体はOSSにならない
FWから学ぶ
JavaScriptjQuery上級編
Bespin
LuceneAPIから内容が想像できる
検索エンジンってこう作るんだ
WebKit
押さえるべき技術
テスト書くこと
技術的負債WebKit
GPUアクセラレーション負債を抱えている
実装のタイミングcoverflow
iphone
FFは4から
「レガシーコード改善ガイド」
理解者がいる返済期間をもらえる
Webサービスまずは表に出さないと意味がない
あとから返済していこう
バランス感覚
FWが返済する機構をもっている
コードレビュー
粒度×タイミング粒度パッチ
機能
リリース
タイミング
チェックイン前
後
大局的なレビュー「ソフトウェアインスペクション」
「ピアレビュー」意図をつたえること
5.Q&A思考・試行のプロセスはどう知る?
Git
汚い間も管理したい
けど人にはみせたくない
バランスがとれている
理想だけ見れれば良いのでは?
技術伝承
手間をかけさせる
ペアプロ
レビューの場を楽しくする 習得する楽しさ
レビュー依頼が出て来やすい
印象にのこった「こと」 8.ボーイスカウトルール
25.見られて恥ずかしいデータは使わないこと
命をふきこむ魔法 対象を理解した瞬間
正しい抽象ができた瞬間