関連サイト
本書の関連ページが用意されています。
内容紹介
ソフトウェアのプロになるには本書が必要だ!
ソフトウェアのプロとは? プロの行動とは? 衝突・厳しいスケジュール・理不尽なマネージャにどう対応すべきか? いつ・どのようなときに「ノー」と言うべきか? プロはプレッシャーにどう対応するのか?
本書は、Robert C. Martin, The Clean Coder: A Code of Conduct for Professional Programmers, Upper Saddle River, NJ: Prentice Hall, 2011の全訳である。著者であるロバート・C・マーチンは、「アジャイルソフトウェア開発宣言」に名前を連ねる1人であり、SOLID原則の提唱者としても知られる人物である。また、「ボブおじさん」の愛称でも親しまれている。
書名に含まれる「clean」の意味を手元にあるMacBookの辞書で調べてみると、「清潔な」以外に「道徳的に汚れのない」や「技や動作が巧みな」といった意味が出てくる。つまり、「クリーンコーダー」とは、職業倫理や規律を守り自分の腕に磨きをかけるプログラマのことを指すわけだ(もちろん清潔なのも大切だよ!)。
そのようなプログラマといえば、ポール・グレアムの「素晴らしきハッカー」やエリック・レイモンドの「ハッカーになろう」に登場するハッカーが思い浮かぶかもしれない。独自の文化や美学を持ち、自由とSFを愛し、怠惰で短気で傲慢なプログラマ。あるいは、『達人プログラマー』や『情熱プログラマー』を思い浮かべる人もいるだろう。アジャイルソフトウェア開発やテスト駆動開発に興味を持ち、顧客との協調を大切にして、テストのないソフトウェアはレガシーコードだ! と言いのけるようなプログラマ。どちらも魅力的であり、どちらも目指すべきプログラマ像だ。
だが、本書に登場するプログラマは少し違う。単一責任原則を無視したような3,000行の関数を書いている。テストを実行せずにシステムをリリースしている。データ構造やアルゴリズムのことをよくわかっていない。さらには、プロらしからぬ行動が原因で会社を解雇されている。
そのプログラマとは、著者のことだ。
これには驚いた。アジャイル開発やオブジェクト指向で有名なボブおじさんが、プログラマの職を解雇されていたなんて! それと同時に安心もした。誰もが最初からうまくやれるわけじゃないのだ(自分だけじゃなかった!)。ボブおじさんの失敗を無駄にしてはいけない。SOLID原則を守ろう。テストを実行しよう。データ構造やアルゴリズムを勉強しよう。それから、解雇されないようにしよう(そのヒントは本書にある!)。
(「訳者あとがき」より)
書誌情報
- 著者: Robert C. Martin(著), 角征典(訳)
- 発行日: 2018-07-27 (紙書籍版発行日: 2018-07-27)
- 最終更新日: 2018-07-27
- バージョン: 1.0.0
- ページ数: 209ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: アスキードワンゴ
対象読者
著者について
Robert C. Martin
ロバート・C・マーチン(ボブおじさん)は1970 年からプログラマである。プロジェクトを成功に導く熟練のソフトウェア開発者とマネージャの集団である国際的企業Object Mentor, Inc.の創業者であり代表である。Object Mentor 社は、大企業向けのプロセス改善コンサルティング・オブジェクト指向ソフトウェア設計のコンサルティングとトレーニング・能力開発サービスを世界に展開している。
マーチンは、業界誌に数多くの記事を書いている。国際的なカンファレンスや展示会では常連の講演者でもある。
以下のような多くの書籍を執筆・編集している。
● Designing Object Oriented C++ Applications Using the Booch Method
● Patterns Languages of Program Design 3
● More C++ Gems
● Extreme Programming in Practice(『XP エクストリーム・プログラミング実践記-開発現場からのレポート』)
● Agile Software Development: Principles, Patterns, and Practices(『アジャイルソフトウェア開発の奥義』)
● UML for Java Programmers(『Java プログラマのためのUML』)
● Clean Code(『Clean Code アジャイルソフトウェア達人の技』)
ソフトウェア開発業界のリーダーであるマーチンは、『C++ Report』の編集長を3 年務めた。Agile Alliance の初代議長でもある。Uncle Bob Consulting, LLC の創業者でもある。また、息子でもあるミカ・マーチンとThe Clean Coders LLC を共同で創業している。
角征典
ワイクル株式会社代表取締役、東京工業大学環境・社会理工学院特任講師。アジャイル開発やリーンスタートアップに関する書籍の翻訳を数多く担当し、それらの手法を企業に導入するコンサルティングに従事。主な訳書に『リーダブルコード』『Running Lean』『Team Geek』(オライリー・ジャパン)、『エクストリームプログラミング』『アジャイルレトロスペクティブズ』(オーム社)、『図解リーン・スタートアップ成長戦略』(日経BP社)、『Clean Coder』(アスキードワンゴ)、共著書に『エンジニアのためのデザイン思考入門』(翔泳社)がある。
目次
まえがき
訳者まえがき
序文
- 本書について
- 参考書
- 謝辞
- 著者について
- 表紙について
序章 必読イントロダクション
第1章 プロ意識
- プロになる前に注意したいこと
- 責任を取る
- 第一に危害を加えてはいけない
- 労働倫理
- 参考文献
第2章 「ノー」と言う
- 反対者の役割
- 大金
- 「チームプレーヤー」になる
- 「イエス」と言う代償
- コードの実現不可能性
第3章 「イエス」と言う
- 約束の言葉
- 「イエス」と言う方法を学ぶ
- 結論
第4章 コーディング
- 準備
- フローゾーン
- 書きたいのに書けない
- デバッグ
- 自分のペースを保つ
- 遅れ
- ヘルプ
- 参考文献
第5章 テスト駆動開発
- 結論は出た
- TDDの3原則
- TDDは何ではないか
- 参考文献
第6章 練習
- 練習の背景
- コーディング道場
- 経験を広げる
- 結論
- 参考文献
第7章 受け入れテスト
- 要求のコミュニケーション
- 受け入れテスト
- 結論
第8章 テスト戦略
- QAは何も見つけてはいけない
- テスト自動化ピラミッド
- 結論
- 参考文献
第9章 時間管理
- 会議
- 集中力のマナ
- タイムボックスとトマト
- 回避
- 袋小路
- 沼・沼・沼
- 結論
第10章 見積もり
- 見積もりとは何か?
- PERT
- 作業を見積もる
- 大数の法則
- 結論
- 参考文献
第11章 プレッシャー
- プレッシャーから逃れる
- プレッシャーを乗り越える
- 結論
第12章 協力
- 「プログラマ」対「ピープル」
- 小脳
- 結論
第13章 チームとプロジェクト
- 混ぜる?
- 結論
- 参考文献
第14章 指導・徒弟制度・職人気質
- 学位の不全
- 指導
- 徒弟制度
- 職人気質
- 結論
付録A ツール
- ツール
- ソースコード管理
- IDEやエディタ
- 課題管理
- 継続的ビルド
- ユニットテストツール
- コンポーネントテストツール
- インテグレーションテストツール
- UML/MDA
- 結論