naopontan(なおぽんたん) のブログ

読み聞かせの事などをつらつらと

美しくないかもしれないが、有効だと思う

いきなりソースだけど、

 int i = 0;
 while (rs.next()) {
     if (i > 5000) { // マジックナンバーを 定数化していないは、ここではあまり関係ない
         log.warn("規定の件数をはるかに超えている");
         break;
     }
     i++;
     ...
 }

というロジックがあっても良いのでは無いかと思う。(カウンタ i がダサい)
ただし、この場合は例えば以下の様な状況の場合。

  • 出力先は HTML の TABLEタグを使った表現である
  • 表(TABLEタグ)で表示される情報量は、例えば最大で千行を仕様とする。5千行は、まずあり得ない
  • 上司達はコンピュータに疎く、専門的な話は通じない (^^;
  • なので、障害があったらプログラム作成者に問合せが来る

言いたいことは以下のような事

  • 無限loopの様な状態に陥って、システム全体に影響が出るようにはしたくない
  • PostgreSQL などの LIMIT が使えれば、それと同じ事
  • Webアプリケーションで TABLEタグの件数の上限って、他社はどうやってるんだろ?
  • 理想だけでは事は進まない事が多い。臨機応変が大事かなと