Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

達人プログラマー/三章 基本的なツール

達人プログラマーの三章に関するまとめ

  • プレインテキストの威力

目で見て意味が分かるテキストの有用性。
人が見てわかること。
データの加工、流用が容易。
テスト化の容易さ。

  • 貝殻(シェル)遊び

シェルは小さいツールの組み合わせであり、その組み合わせ
次第で無限とも言える可能性を秘めている。
GUIは習熟度の低いユーザーが手軽に使用するには向いているが、
繰り返し処理の自動化などに関してはCUI+シェルが力を発揮する。

  • パワーエディット

テキスト処理はシステム開発を行う元にとって切り離せない作業である。
その作業を効率よく行うこと=エディタに精通することは重要。
複数のエディタを使用することは効率を下げるため、ひとつのエディタに
絞り極限まで習熟度を高めることが理想。

バージョン管理の重要性。最近の開発では利用しないことはほぼないとは思います。
業務ではVSS、SVNCVSを利用したことがある。
Gitを始めとした分散バージョン管理システムへの移行が始まっていると思うので
自分も要学習。

プログラマーとは切って離せないデバッグ
トレース、処理中のデータの可視化、難題発生時に視点を変えること、バイナリサーチによる解析など。
以前一緒に開発した上級プログラマーのTさんのデバッグスキルをみて驚きの連続でした。
優れた技術者は問題の発見、切り分けが早いですよね。
Tさんはビュー、コントローラー、ビジネスロジック、果ては利用しているフレームワーク
問題かどうかあっという間に切り分けて他の開発者がずーっと原因を発見できない問題を
すぐに解決してしまいました。

  • テキスト操作

プレインテキストやパワーエディットの内容とも重なりますが、
テキストを加工する作業は効率化には欠かせない。
その上でテキスト操作をメインで行う言語をひとつ決めておくことが重要とのこと。
手軽さからLL言語のほうが好ましい。
候補としてはPerlPythonRubyなど。
現状どの言語にも習熟していない私としては来年Rubyを覚えたいと思います。

  • コード・ジェネレーター

何度も利用するような構造の処理はコード・ジェネレーターを作成して効率を図る。
消極的なコード・ジェネレーター、積極的なコード・ジェネレーターがあり
前者はひな形のようなコードを1回だけ出力し、その結果を手で編集する。
後者は繰り返し利用するコードを全自動で出力出来るようにする。
後者は設定ファイル+スクリプト言語などで実装するのが定番。

■感想
GUIから入った私自身はCUIは入門レベルですが重要性は痛いほど伝わります。
エディタもvimに移行したいと思いつつ秀丸の習熟度がアップして困り者。
現状は秀丸Eclipseのエディタがメイン。vimは学習中。
ゆくゆくはvimメインにして他の作業もvimキーバインドに変更したい。

達人プログラマー―システム開発の職人から名匠への道

達人プログラマー―システム開発の職人から名匠への道

  • 作者: アンドリューハント,デビッドトーマス,Andrew Hunt,David Thomas,村上雅章
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/11
  • メディア: 単行本
  • 購入: 42人 クリック: 1,099回
  • この商品を含むブログ (348件) を見る