Yoichi's diary
2015-01-02
_ 帰阪
昨日の雪の影響で通行止めのため、帰れるか微妙だったが、午後に名阪国道が通行可能になったので帰ってきた。新名神通行止めの影響か、単に正月のためかはわからないが珍しく渋滞してた。
2015-01-08
_ リーダブルコード 社内勉強会その5
今回の範囲:12章 コードに思いを込める、13章 短いコードを書く
- 使われていないコードを消すべきかどうかで悩ましいことがある。
- バージョン管理されているので必要になったら戻せる?
- 過去に実装されたことに気づかなければ再実装しちゃう。
- ミドルウェアで実装したが、アプリで使われていない機能
- 他アプリとの組み合わせでの再利用可能性を維持するか
- 未使用コードを消してメンテナンスコストを節約するか
- バージョン管理されているので必要になったら戻せる?
- 未使用コードを消す時にコンパイラに頼る
- リンクエラーにならなければ安心して消せる。
- ただし、動的に解決される部分(仮想関数、リフレクションなど)には注意が必要
- APIの廃止を伴うコード削除では、ユーザ側で使わなくなっていることが前提になる。
- Obsolete属性(.NET)、@Deprecated (Java) でまず予告してから猶予期間を経て削除
- 将来の再利用を考慮して汎用的なユーティリティを作るか、要件を吟味して必要最小限のユーティリティとするか。
- 汎用的なものがあるのに、気付かずに再発明してしまうことがある。
- ほぼ同じ目的を持った、少しだけ違うライブラリがシステム内に複数存在してしまっているケース。
- std::thread がもっと昔からあれば…
- 社内ライブラリはググっても引っかからない。
- 汎用的なものがあるのに、気付かずに再発明してしまうことがある。
2015-01-09
_ [windows] spy++ のウィンドウの並び順
http://msdn.microsoft.com/en-us/library/dd460727.aspx にあるように、兄弟は Z-order の順に並んでいる。
2015-01-11
_ 東大阪市消防出初式
今年も消防ヘリが飛んで来てた。今年は息子の行っていた幼稚園が参加する回だったので、先生にチラッと会えたり、見に来ていた友達に会えたりしてた。
2015-01-14
_ お休み
奥さんが健康診断でいつ帰ってこれるか不明だったためお休みとしていた。結果として息子が帰ってくるまでに帰ってこれたが、初バリウムだったのでつらそうにしている。
_ [SCM] ブランチへのマージについて
製品ブランチへのマージでマージ漏れが起きるケースの経験が溜まってきたので、一例を Prevent code loss in merging にまとめてみた。 マージ順序を調整してコンフリクトしなくするとか、競合理由となった別の変更を将来マージするときのために記録しておくとかいった話を書きました。 簡単な具体例を作ったのだけど、簡単すぎてどういう状況で課題が生じるのかわかりにくいかもしれない。
コンフリクトしたときに変更内容を編集してどうこうするという話は例えば TortoiseSVN:競合の解決 などがあるけど、もう少し上の視点から見てコンフリクトに対処する話をまとめたものは見つけられなかったので、誰かの役に立つかもしれないと思って、せっかくなので英語で頑張って書いてみました。探し方が悪いのか、そもそも他の人はそういう状況に遭ってないという可能性もあるけど、そういう指摘がもらえる可能性を上げるという意図もあったり。
2015-01-15
_ リーダブルコード 社内勉強会その6
今回の範囲:14章 テストと読みやすさ
- ログは assert の手前に書こう(後ろじゃ意味ない)。
- テストしたいときに下回りの依存を切り離すには?→ Mockを使う。手間を減らすのに使えるツール(e.g. Google Mock)もあるよ。
- RSpec / Cucumber の紹介→面白そう。
- テストのないコードを変更するには→テストを書いて変更するとよい。「レガシーコード改善ガイド」にいろいろな例が書いてある。
2015-01-19
_ [DevLove] 事業会社の現場を知ろう~クックビズ編~
やぶのさんからの経営者視点での話、すぎたさんからの一人目の開発者の視点での話を聞いた。
やぶのさんの話の中で、ベンチャーの社長がやるべきこと3つがあげられていた:
- Vision & Mission → 出会う人全てに伝える
- Hiring & Retaining → 採用で手を抜かない → いい人と仕事ができる → サービスに集中できる
- Cash → 口座にお金があるように
すぎたさんの話の中で出ていた、プロジェクト見取り図は、その時点の状況の可視化で有用そうだった。 元ネタの KAIZEN platform Inc. の開発マネジメント by Naoya Ito を見ると朝会の情報を元に作るとのこと。
2015-01-22
2015-01-25
_ 本の紹介の準備
社内勉強会で次に読む本を選ぶのに、候補を挙げて紹介する会を開こうということになったので準備。
読んでいる内に木を見て森を見ずになっていたのが、あらためて全体を見渡せたので、いい機会だと思った。
2015-01-28
_ 社内勉強会
次に読む本を決めるための紹介の会。fpinscalaを読むことになったが、 それ以外の本も面白そうなので読み(直し)たい
候補に挙がっていた本:
- Functional Programming in Scala
- レガシーコード改善ガイド
- 並行コンピューティング技法
- Exceptional C++
- C++のためのAPIデザイン
- Structure and Interpretation of Computer Programs