大規模なソースコード、何万行までいじれますか?

『大規模なソースコード、何万行までいじれますか?』スラドより。
http://slashdot.jp/askslashdot/06/07/10/0318236.shtml

なんとなく、自分が”いじって”きた行数を思い起こしてみる。

Aプロジェクト:8万行のJ2EE、Webシステム
アーキテクチャ設計とコアの実装もやったのでだいたい隅々まで分かってる。一時期、メンテナスも2〜3人で行った。
Bプロジェクト:16万行のJ2EE、Webシステム
Aプロジェクトのバージョン2をどっかの会社が開発したもの。他人が作ったものでもメンテナンスは比較的楽だった。コアアーキテクチャはAのパクリだったしなw
Cプロジェクト:2万行のC++ライブラリ
ほとんど一人で設計したから楽勝で隅々まで分かってる。
Dプロジェクト:12万行のC言語アプリケーション
全部他人が作ったもの。はっきり言ってよくわからない。変更案件を目の前に提示してくれれば、だいたい、いじる個所は思い付くが…。
0プロジェクト:7万行のCOBOLアプリケーション
規模を覚えてる最古のプロジェクトw。一部、設計&実装を行った。他人様のソースはほとんど見たことなく、いじる自信もない。

もちろん、対象ドメインの複雑さによって変わってくるだろうけど、
概ね、最近のJavaプロジェクトとかは10万超えても苦にならない気がする。
タレコミ対象の本文
http://jp.sun.com/communities/users/0607/feature01.html
で、生産性が向上したと一口で言ってるけども、

なども大きな理由として挙げられるんではなかろうか。


あとは、当然、開発者たちの腕にもよるな。
実は現在やってるのはDプロジェクト。
わけわからんグローバル変数、わけわからんポインタの使い方、500行を越す関数がざら…。
こういうのは生産性とか関係なく(間接的には関係あるけど)、
大規模コードをいじる障害になっている。
もう参考にすることもない、と思ってたけど、いまさらながら
『Cプログラミング診断室』で言ってることが身にしみる。
http://www.pro.or.jp/~fuji/mybooks/cdiag/index.html


上で言う、モジュラリティが良くなった、とは、
言語や設計手法そのものが進化したという面もあるけど、
この『Cプログラミング診断室』とか『達人プログラマー』とか、
低い結合度と高い凝集度に関して、高い意識を持った職人たちの地道な喧伝が、
ようやっと常識化してきたということもあるんじゃないのかな。


でも、一人で制御できる規模が大きくなればなるほど、
さらに能力を超える規模の開発が襲ってくるのが問題なんだけどもね。
次の目標は100万行を苦にしなくなることですかね。
(いや、それは違うw)