極限まで設計されつくしたプロジェクト
「Why you don't want to code for a government department」という記事がありました。 半分笑えて、半分引きました。
この記事を書いている人が昔QAの研修に行った時の話でした。 研修では、以下のようなコードを書いてアセンブラ出力を見るという事をしていたそうです。
unsigned int fac( unsigned int i )
{
if ( i < 2 ) {
return 1;
}
return i * fac( i - 1 );
}
隣の人のコードを見たら以下のような書き方をしていたそうです。
unsigned int aq456( unsigned int aq457 )
{
if ( aq457 == 0 )
return 1;
if ( aq457 == 1 )
return 1;
return aq457 * aq456( aq457 - 1 );
}
不思議に思って「何でそんな書き方してるの?」と聞くと、その男性は政府の仕事でプログラムを書いていたという話をしていたそうです。 そこでは、関数名や変数名まで全てドキュメント化してからコード書きが行われるということでした。 さらに、それらの頭文字2文字はaa、ab、acというようにプロジェクト毎に決まっていたそうです。
今回はQAだったので、その反対でaqにしたそうです。
いやぁ、究極に設計されつくした開発手法ですね。。。 ソースコードが漏洩したときの難読化という意味合いもあるのかも知れないと好意的に考えてしまいました。
最近のエントリ
- Interop 2023のShowNetバックボーン詳解
- Interop Tokyo 2023 ShowNet取材動画
- 「ピアリング戦記 - 日本のインターネットを繋ぐ技術者たち」を書きました!
- 1.02Tbpsの対外線!400GbE相互接続も - Interop ShowNet 2022
- Alaxala AX-3D-ViewerとAX-Sensor - Interop 2022
- SRv6を活用し、リンクローカルIPv6アドレスだけでバックボーンのルーティング - Interop ShowNet 2022
過去記事