2008/5/10 土曜日

@のエラー抑制とか

Filed under: 技術メモ — dev0000 @ 13:44:09 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

「@」でエラー抑制すると PHP が遅くなるという噂について
大切なのは数秒のスピードアップ?それとも?
ソースコードは一期一会の精神で書くべし。

この程度の記述の違いだけで最大10倍の差が出るのであれば、そりゃあ気にする意味はあるんじゃないの。
確かに100万回ループはバッチ処理ぐらいだが。

個人的には最近こういう書き方のほうが多いけど。

PHP:
  1. <?php
  2. function getv($list, $key, $default='') {
  3.    if (array_key_exits($list, $key)) {
  4.     return $list[$key];
  5.    }
  6.    return $default;
  7. }
  8. $aaa = getv($list, 'aaa');
  9. ?>

それかやっぱりこういう形。

PHP:
  1. <?php
  2. $aaa = (isset($list['aaa'])) ? $list['aaa'] : '';
  3. ?>

ってかさ、
エラー制御演算子

@マークをつけたところでエラー情報は蓄積されていくわけだし、E_NOTICE とかで運用していて、エラーログが意味もなく増えていくのは勘弁してくれ、と思う。

※ まぁ大量アクセスが予想される場合、E_NOTICE を つけるかつけないか、エラーログをとるかとらないかは意見が分かれそう。

一番最初に勤めた会社で言われたのは、
「たとえベタ書きのスパゲティでも納期に間に合わせる見通しをつけること。品質改良はそれからだ」
ってことで迷った時はその教えに従うようにしています。
ただ、初期開発のみ受託と運用開発と自社サービス開発では納期の優先度が変わってくるし、バランス感覚も全く違ったものになる。
要求される正解が違ってくるので、同じエンジニア職であっても軽いカルチャーショックみたいなものは受けるのじゃないかな。

それと、
SELECT文でアスタリスクを使うな論、とか
「パフォーマンスに対する考え方ちがわね?」って突っ込まれそうな気がする。
ただ「SELECT *」で得られる記述メリットと比較して、@を使うことによる得られる記述メリットってこだわるほど別に高くないし、とは思う。

1件のコメント »

  1. PHPの配列の参照とデフォルト値とE_NOTICE…

    (more…)

    トラックバック by なんかばんざい — 2008/5/10 土曜日 @ 21:03:22

この投稿へのコメントの RSS フィード。 TrackBack URL

コメントする

HTML convert time: 0.389 sec. Powered by WordPress ME