【読書】プロダクティブ・プログラマ 〜技法編〜
読書のまとめ。
少し古い本だけど、何か参考になるものもあるだろうと読んでみますた。
はじめに
この本は何を目的とした本か?
「プログラマの生産性を向上するための本」。
「生産性」とは、一定の時間にできる仕事、もしくはあげられる成果のこと
※本書の冒頭より引用
この本は2つの節に分けられる。
1.技法編(生産向上の原理)
2. 実践編(生産性向上の哲学)
まとめてたら結構長いので今回は、技法編。
技法編では、主に下記の4つの原則に沿って説明がされる
■プログラマの生産性に関わる4つの原則
- 加速
- 集中
- 自動化
- 正準化
情報が古い部分が多いので、
とても個人的な見解を織り交ぜて、気に入った部分だけをピックアップしますた
あとmacしか使ってないから基本windowsについての記述はスキップしてまふ
加速
自分のPCで利用しているアプリケーションは、必要最低限にしましょう。
同じようなアプリは複数いらない。使うアプリを探す分だけ時間が無駄。
pushdコマンドとpopdコマンド
ディレクトリの移動に便利だと記述があった。
わたしはcdコマンドで十分かな。。。と思ってるけど
このコマンド知らなかったので.....φ(゚-゚=)メモニャン
コマンド自体はcdコマンドと同じようなもん。
ただ、これらのコマンドはカレントディレクトリを内部スタックに
保存するので、ディレクトリ移動を記録できて便利。
試してみる(σ_σ)ゞ
pushdコマンドでディレクトリ移動。
移動したカレントディレクトリがたまっていくのがわかる
$ pushd Documents/ ~/Documents ~ ~ $ pushd workspace/ ~/Documents/workspace ~/Documents ~ ~ $ pwd /Users/pnsk/Documents/workspace
この時点で、「~/Documents/workspace ~/Documents ~ ~」こんだけたまっている
popdしていく。
$ popd ~/Documents ~ ~ $ pwd /Users/pnsk/Documents $ popd ~ ~ $ pwd /Users/pnsk
スタックにたまっていたカレントディレクトリ情報が、最後「~~」になったらおしまい。
ほうほう。面白い。
ただ、1つ前のカレントディレクトリに戻るんであればcdコマンドで可能だからこっちでいいかも。
$cd -
集中(なんか途中から加速について記述している希ガス)
気が散るのを最大限防ぐ
ヘッドホンとか良い。
音楽はきかなくてもよくて、見た目に話しかけにくくしておくことが重要。
ω・*) < 音楽聞いてるふりしても余裕で話しかけられる気がするけど。。
不要な通知のオフも大切
ω・*) < skypeとかオフっちゃえ
時間を決めて、沈黙の時間をつくる
検索の効率化的なお話
ファイル名にメタ情報をいれる(何のプロジェクトかetc.)
正規表現とfindコマンドを駆使すると色々便利
ローカルPCにある、よくアクセスするディレクトリをルートビューに設定すると
階層を辿っていかなくても簡単にアクセスできる。
[書類]>[ブログネタ]をルートビューにもってきてみた
こんな感じ。
もとのディレクトリが移動しているわけではなく、ショートカットを作成しただけ。
プロジェクト関連のまとめ
プロジェクトのファイルを、ショートカットを使って一箇所のディレクトリにまとめる
これいい。
macのマルチデスクトップ
macのマルチデスクトップを利用するときは、そのデスクトップ毎に用途を明確にする
- コミュニケーション用
- ドキュメント用
- コーディング用
とか
自動化
小さなExcel作業もrubyなどでスクリプトを書いて、作業をより簡単にすること
よくアクセスするWebページのローカルキャッシュをとっておく事
これによりネットアクセスの時間ロスをふせぐ事ができる
これ、コンフル(商用wiki)の特定ページとかにしぼると役立ちそうかも。
どこまで自動化すべきか
2回以上繰り返す作業については自動化を検討する
ただし、自動化が妥当かの判断をする時間を作る必要がある
自動化に膨大なコストがかかるのであればそれはすべきではない
正準化
「正準化」:重複した余分なものを省いて単純化すること
技法編のNOTE
キーポイントが所々で示されているので気に入ったやつだけ。
「段取りではなく本質に注力せよ」
「単純作業の繰り返しは、知力と集中力を奪う」
「ドキュメントは「生きた状態」に保つ」
だいたいそんな感じかな。
全体感、とっても読みやすくてさらさら読めまふ (。◕ ∀ ◕。)
情報が古い物が結構あるけど、まあ、考え方を参考にする感じ。