こんばんわ!
「クリーンコーダー」という本を読んでみました。
この本は、ソフトウェア開発者がプロフェッショナルとして成長するための指南書です。プロ意識、コーディング、テスト開発、練習、時間管理などについて詳しく解説しています。以下に要点をまとめます。
プロ意識
プロは自分の仕事に責任を持ち、ミスをした場合は自分で後始末をする。
バグの数を限りなく0に近づけることが理想であり、継続的に学習をすることが重要。
「ノー」という
難易度の高い開発依頼が来たら、「ノー」と言うべき。
技術的に難しいことや時間がかかる理由を説明し、ビジネスサイドと合意できる解決策を導き出す。
「イエス」という
約束をする際には自分で約束の内容と期日を明言することが重要。
個人的な責任を逃れず、自分でやり遂げることを約束する。
コーディング
疲れている時にコードを書かない。
睡眠・健康・生活様式を調整して、1日に8時間は満足のいく時間を作る。
ペアプログラミングが効果的。
テスト開発駆動 (TDD)
TDDの3原則:
①失敗するユニットテストを書くまでプロダクションコードを書かない
②他の目的でユニットテストを書かない
③失敗しているユニットテストが成功するまで他のプロダクションコードを書かない
確実性、欠陥混入率、ドキュメントの観点からTDDのメリットがある。
練習
練習はスピードの成果であり、問題と解決策からなる題目を繰り返し実行する。
ペアプログラミングや乱取りが効果的。
受け入れテスト
要求の完了を定義するためにステークホルダーとプログラマが協力して書くテスト。
自動化が重要であり、ユニットテストとは異なる。
テスト戦略
開発とQAは協力してシステムの品質を向上させるべき。
ユニットテストと受け入れテストはドキュメントであり、システムの設計・構造・振る舞いを定式化する役割がある。
ここまでです。
世には技術を持ってる=正義という考えがありますが、プロとしてのプログラマーを目指すための心構えという観点でとても有意義な事を学べました。
ここまで読んでいただきありがとうございます。