gallu 2013-03-04 00:09:20

[PHP] 工数の無駄 このエントリーをはてなブックマークに追加

投稿者からのアピールポイント

メソッドといい引数の「デフォルト空文字」といい、なんとも味わい深いほどに「無駄」の結晶。 それなりにキャリアのある技術者とのことでしたがとりあえず技術力が分からない相手だったので「クラス書いてみて」といってお願いして、出てきたのがこれを含むクラス。 すみやかに「それなりにキャリアのある技術者」から「技術者未満」に、印象値を変更しておきました。

※クラス名はダミーです

class hoge {

 /*
  前略
  */
// 変数の空文字チェック
 private function _chackVar($var_str = ""){
  if("" === $var_str){
   return FALSE;
  }
  return TRUE;
 }

// 文字列を置換する
 private function _replaceString($search_str = "", $replace_str = "", $subject_str = ""){
  $rtn = FALSE;
  // 引数のチェック
  if( !($this->_chackVar($search_str) && $this->_chackVar($subject_str)) ){
   $this->_degug('E', '引数エラー!', __FUNCTION__);
   return FALSE;
  }
  // $search_str に指定された文字列を $replace_str に置換する
  $rtn = str_replace($search_str, $replace_str, $subject_str);
  
  return $rtn;
 }

}

使い方ヒント: 「これは臭う」という行を見付けたら、各行のsmellをクリックしてマーキングしておきましょう(要Twitter OAuth認証)

コメント(7)

#1 ekykwan 2013-03-04 02:48:04  

chackとdegugも臭う

#2 gallu 2013-03-04 23:51:46  

degugは今回載せませんでしたが、大変に臭いのキッツいメソッドでございました(苦笑

#3 tkcomcom1is 2013-03-05 17:03:06  

checkとdebugの書き間違いもアレですが、_replaceStringの返り値の統一感の無さがしっくりこない……。

#4 InternalServerE 2013-03-05 21:31:04  

クラス書いた当の本人がここ見たら。。
自分なら、多少なりオブラートに包みつつ、 エッセンシャルな部分だけを簡潔に抽出した模擬コードで投稿するなあ

galluさん、夜道には気をつけてね。

#5 Miraranran 2013-03-09 02:02:01  

そもそもこの目的で標準のstr_replaceだけじゃダメだったんだろうか。 引数省略可にするからchackが必要になるとかアレだし、degugは単なるエラー処理だけだろうからさらにアレだし...

#6 token7 2013-03-10 00:24:27  

イマイチ、投稿者の状況とか背景がわかんないや。事前情報なしにいきなりクラス書いてみてなんて言わないよな、普通。コードが解決しようとしてた問題を書いてくれないと、論じようがないぜ。

#7 417_72ki 2018-01-17 01:55:14  

_replaceString(null, null, null); って呼んだら空文字列が返ってくるのか...(震え声

コメント投稿には、twitter認証が必要です。

Twitter認証

このウンコードに臭った人は、こちらのウンコードにも臭ってます

[Java] is禁止令

このエントリーをはてなブックマークに追加

ウンコードの趣旨とは違い、レビューで指摘...

// Mod yamada Start

// 一般的に考えて真偽値を返すメ...

鑑賞する »

[Java] 内部的にunicodeだから日本語つかえ...

このエントリーをはてなブックマークに追加

これを書いた先輩に「英語で書きましょうよ...

class 会員 {
    private int 会員番号;
    p...

鑑賞する »

[Java] もうコメント書くなお前

このエントリーをはてなブックマークに追加

改修案件でぶち当たったソース マジでこ...

/**
  *
  *   〇〇の値を取得する
  *
  */
pu...

鑑賞する »