「達人プログラマー システム開発の職人から名匠への道」を読んだ
覚えているキーワードだけを書きだしてみた。
- テストの自動化
- 直交性
- std::auto_ptrの使いどろ
- ドキュメント
- プレイン・テキスト
テストの自動化
テストを手作業で行うことで、多くの時間が奪われる。
そこで、テストを自動化しよう。そうすれば、コードを新たに産みだすことに時間をさける。
あと、cronコマンドで、夜中にテスト実行させておけば、朝には何が悪かったかをチェックできる。
疑問に思ったことは、GUIテストについてサラッとしか触れられてなかったこと。
GUIテストをどのようにして自動化すれば良いのかわからない。
直交性
各関数やクラスの依存関係が薄いことを、直交性があるという。
直交性のメリット
- テストコードを書きやすい
- 掃除機のノズル部分のように付け替えが可能となる→機能変更が簡単
std::auto_ptrの使いどろ
pp135-137で「C++の例外を用いいたリソースのバランス」という項目で例外について書かれていた。
そこで、知ったのがstd::auto_ptr。例外が起きたときに、いかにしてリソースを解放するかを解決するために使えることを知った。
具体的なコードは、同ページに書かれているため省略。
ドキュメント
Wordなどのワード・プロセッサを使ってのドキュメント作成は推奨されない。プレイン・テキストのようにバージョン管理できないから。
会社からワード・プロセッサを使えと支持されたら、マクロを使いプレイン・テキストの装飾をワード・プロセッサへ出力するような処理を書けば解決できる。
プレイン・テキスト
UNIXの文化。可読性。
テキスを処理するコマンドをパイプなどでつなげていくことで、様々な事ができる。
GUIが使用できないようなマシンで威力を発揮する。
GUIよりもCUIのほうが、簡単に解決できる場合がある。例えば、テキスト加工、検索、ファイル列挙など。
おわりに
思い出したことを書き出し見たから、メモ書きになってしまった。
そういえば、演習問題はやってないから、気が向いたらやるか。