00hid 00hid 2017-05-20 19:03:14

[C] 既存のコードを極力残したかったらしい。 このエントリーをはてなブックマークに追加

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

特別仕様版で関数の機能変えたかったみたいです。 そんでもって、それには引数の変更も必要だったようです。

無駄にコードが増えてく

/*プロトタイプ宣言省略*/

/*関数hogehoge*/
#ifndef SPECIAL
int hogehoge( int x, int y )
#else
int hogehoge( int x, int y, int z  )
#endif
{

  /*なんかやる*/

#ifdef SPECIAL
  /*z使って何かやる*/
#endif

  /*なんかやる*/

  return 何か;
}

/*hogehoge編集前からあったhogehoge呼び出し箇所*/
int piyopiyo( void )
{
  int ret;

  /* hogehoge変更者が直してる */
#ifndef SPECIAL
  ret = hogehoge( 1, 2 );
#else
  ret = hogehoge( 1, 2, 3 );
#endif
 
 return 何か;
}


/* hogehoge変更後、hogehoge呼び出しの面倒さに気づいた人が作ったラッパー 
 似たようなやつでマクロ置換版もあったり*/
int hogehoge2( int x, int y, int z  )
{
#ifndef SPECIAL
  return hogehoge( x, y );
#else
  return hogehoge( x, y, z );
#endif
}

/*hogehoge編集後に追加された呼び出し箇所*/
int piyopiyo2( void )
{
  int ret;
  
  ret = hogehoge2( 1, 2, 3);

  return 何か;
}

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

コメント

まだコメントがありません。最初にコメントを残しませんか?

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

Twitter認証

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

[その他] [PL/SQL]自動生成?いいえ、手書き...

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

処理本体はあえて除外したくなるほどの衝撃...

PROCEDURE my_annonymous_arguments (
   ...

鑑賞する »

[Java] フルHD推奨。

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

画面の左側がわりと無駄な気がします。

public int hoge(){
    int result = 0;
...

鑑賞する »

[PHP] 値を返すかどうかはあなた次第

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

某Wordpressのプラグインより。 ...

function get_item_custom( $post_id, $typ...

鑑賞する »