極限まで設計されつくしたプロジェクト

2007/8/31

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にしたそうです。

いやぁ、究極に設計されつくした開発手法ですね。。。 ソースコードが漏洩したときの難読化という意味合いもあるのかも知れないと好意的に考えてしまいました。

最近のエントリ

過去記事

過去記事一覧

IPv6基礎検定

YouTubeチャンネルやってます!