この書籍をおススメする理由
今回、ご紹介する書籍は、ITエンジニアは勿論なのですが、システムに少しでも携わる方々にも、お勧めの書籍です。
この書籍は、あまりにも有名すぎるので、ご存知のエンジニアは多いと思います。
そのため、今更感はあるのですが、毎回、システム部に入社してくる新人や、経験の浅い協力会社さんに薦めています。
本当に良い書籍ですし、この内容を知っていると、知らないとでは、プログラマとしての経験値にかなりの差がでると思います。
また、開発経験を積んでくると、プロジェクトによっては、PMOや、テックリードの立場的なチームに所属することがあるかと思います。
自分も、いくつかのプロジェクトでは、要件定義フェーズから参画することがあり、その最初の立ち上がりでは、テックリード役を任されました。
テックリードの役割とは
テックリード役の作業は色々とありますが、そのうちの一つとして、共通基盤構築とあわせて、開発標準の策定作業があります。
これは、プロジェクトの規模にもよるので、それぞれ別のチームに分かれている場合もあるかと思います。
開発標準化の策定チームに、運良く!?所属した場合には、どのように業務を進めていけばよいのか迷うと思います。
開発者には、こういった標準化を嫌がる方々も多いですが、何事も経験だと思って、担当者になった時に、少しでも参考になればと思い、この記事を書きました。
開発標準を決めていく作業には、どのような項目が思いつきますか?
たぶん、気が付いていないだけで、今までの開発経験の中で、感覚的に実践してきていると思います。
簡単にいうと、開発標準の策定作業とは、今まで、経験則的に、また、感覚的に実践してきたことを、明文化する作業です。
例えば、
- クラス名の命名規約
- クラスファイル名の命名規約
- 各クラスファイルの保存、ディレクトリ構成の規約
- 変数名の命名規約
- メソッドの命名規約
- コメントの記載ルール
- 1メソッド内の最大コーディング行数
- コーディング時のインデントルール
- IF文、CASE文などの記載ルール
- etc
などの当たり前すぎることですよね?
ある程度、開発経験を積んでくれば、これらの項目は直ぐに思い浮かぶと思います。
これを、明文化し、各サブシステムのチームに横展開して、品質を統一していくのが、役割の中心となります。
また、製造フェーズでは、各開発者から、この場合はどういったコーディングが良いのか?とか、必要に応じてコードレブューをすることもあるかと思います。
このように開発標準化を策定する担当になった際に、役立つ書籍は、たくさんあります。
その中でも、ダントツに有名な書籍です。
CODE COMPLETE 第2版 完全なプログラミングを目指して
上巻
第1部 基礎を固める
第1章 ソフトウェアコンストラクションへようこそ
第2章 ソフトウェア開発への理解を深めるメタファ
第3章 2回測って、1度で切る:上流工程の必要性
第4章 コンストラクションの重要な決断
第2部 高品質なコードの作成
第5章 コンストラクションにおける設計
第6章 クラスの作成
第7章 高品質なルーチン
第8章 防御的プログラミング
第9章 擬似コードによるプログラミング
第3部 変数
第10章 変数の使用
第11章 変数名の力
第12章 基本的なデータ型
第13章 特殊なデータ型
第4部 ステートメント
第14章 ストレートなコードの構成
第15章 条件文の使用
第16章 ループの制御
第17章 特殊な制御構造
第18章 テーブル駆動方式
第19章 制御構造の問題
下巻
第5部 コードの改良
第20章 ソフトウェアの品質
第21章 コラボレーティブコンストラクション
第22章 デベロッパーテスト
第23章 デバッグ
第24章 リファクタリング
第25章 コードチューニング戦略
第26章 コードチューニングテクニック
第6部 システムの考察
第27章 プログラムサイズが及ぼす影響
第28章 コンストラクションの管理
第29章 統合
第30章 プログラミングツール
第7部 ソフトウェア職人気質とは
第31章 レイアウトとスタイル
第32章 読めばわかるコード
第33章 個人の資質
第34章 ソフトウェア職人気質とは
第35章 さらに情報を得るには