2020-11-21

ソースコード品質を保つために真に効果的な手段は3つしか無い

  1. バージョン管理システムを使う
  2. 静的型付け言語およびlintを使う
  3. テスト駆動開発をする

どんなに優れたツール設計思想などがあっても、使う奴がダメだと全く無意味。弊社もWebアプリを作ってて、RESTだのFluxアーキテクチャだのいろいろ導入を試みたが、ほとんど無駄に終わった。

どんなクソ組織でも効果があると確信持って言えるのは上の3つだけ。1つ目は初歩的すぎると思われるかも知れないが、筆者の想定するダメ組織ダメプログラマというのは、このレベルの連中を含む。

とにかく最低限の品質保証強制する仕組み以外は無意味

静的型付け言語サーバーサイドならJavaC#フロントエンドならTypeScript)を使わせれば、少なくともコンパイル時に分かるエラー修正させられる。

というか、ダメプログラマに動的型付けの言語は触らせてはいけない。必ずそのプロジェクト半年後には保守できなくなる。

テスト強制的に書かせるし、テストのないクラスや、通らないテストあったらコミットできないようにする(それは容易にできる)。

番外編: ものすごくマイナー言語を使う

もう一つの方法は、そもそも優秀なエンジニアしか参加できないようにすること。たとえば、ScalaHaskellErlangCommon Lispなどで書かれていれば必然的にそれが分かるエンジニアしか開発できないし、こういう言語自主的学習しているエンジニアは優秀である可能性が高い。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん