[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/31 00:34 / Filesize : 180 KB / Number-of Response : 913
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

イラッつとするコーディングスタイル



1 名前:仕様書無しさん [2012/03/10(土) 22:20:29.12 ]
文法的には何ひとつ間違ってはいないし、本人なりに見やすくしようとする意図は汲み取れるのだが、
どうにも気持ち悪くて、「修正してやる!」と叫びながらキーボードを激しく連打したくなる

そういう薄気味悪いコーディングスタイルを発見したら書き込むスレッド

352 名前:仕様書無しさん mailto:sage [2012/04/13(金) 22:13:55.77 ]
>>315
やだよ一時変数で済むもんワザワザ宣言するなんて
あと、具体的な名前書いても条件が画面右寄りになることで到底分かりやすくなったとも思えん
while( 0 < GetMessage( &message, 0, 0, 0 ) ){}

353 名前:仕様書無しさん mailto:sage [2012/04/13(金) 23:05:38.21 ]
hoge == 0 でも 0 == hoge でも何とかなるのだが、
hoge == 0 で統一されたソースに 0 == hoge で
追加修正された時はイラッつとした

354 名前:仕様書無しさん mailto:sage [2012/04/13(金) 23:48:50.81 ]
まだそのネタが続いてるのか
0 == hoge か hoge == 0 かなんてどうでもいい
>>311の頭おかしいのは

> 「私は比較と代入を間違える可能性があります」
> と宣言してるようなもんで、他の部分もちょっと信用ならないよねーという

の部分
もっと言うと、>>311は一切typoしない、typoする奴は信用ならねーって言ってること

355 名前:仕様書無しさん mailto:sage [2012/04/14(土) 00:00:15.21 ]
両者を納得させるために
hoge == A は (hoge - A) == 0 にしようず


356 名前:仕様書無しさん mailto:sage [2012/04/14(土) 01:27:09.14 ]
>>339
ちなみに、「sizeof 識別子」と「sizeof(型)」は別物ですよ?
混在してると解り難いってゆーなら括弧必須のルールでもいいけど。

357 名前:仕様書無しさん mailto:sage [2012/04/14(土) 01:29:53.09 ]
>>352
while (GetMessage(&message, 0, 0, 0) > 0) { }

ふぅ。

358 名前:仕様書無しさん mailto:sage [2012/04/14(土) 01:47:16.66 ]
100%ミスしない人間が存在しているという前提がもう頭おかしいだろ。

0==hogeが見難いのは単なる慣れ。


オレの気に入る書き方以外はクソとかどんだけ自己中なのか。

359 名前:仕様書無しさん mailto:sage [2012/04/14(土) 02:18:18.91 ]
>>358
>>334

360 名前:仕様書無しさん mailto:sage [2012/04/14(土) 02:29:41.11 ]
そうかいちゃダメな理由になってないだろうww



361 名前:仕様書無しさん mailto:sage [2012/04/14(土) 02:47:50.81 ]
そうだね。

362 名前:仕様書無しさん mailto:sage [2012/04/14(土) 04:40:43.71 ]
0==hogeって書く奴は定数がdefineされててもFUGA==hugeってやるんだよな。キモイ…
つか、==じゃない比較演算子もそうすんの?HOME>=hageとか。==だけ?


363 名前:仕様書無しさん mailto:sage [2012/04/14(土) 05:22:19.96 ]
>>362
不等号に関しては、複数並ぶときに向きを揃えるっていう
数学的なお約束があるんで、それに合わせることも多いんじゃね。
 定数1 <= 変数A && 変数A <= 定数2
みたいに。

364 名前:仕様書無しさん mailto:sage [2012/04/14(土) 05:24:52.86 ]
>>358
スレタイ読め

365 名前:仕様書無しさん mailto:sage [2012/04/14(土) 06:25:36.06 ]
。・゚・(Д゚(0==(´∀` )

これをグループ内で提案したらものすごく気持ち悪がられた
本質的に「わざと違和感を抱かせてミスを防ぐ」トリックだから
やむをえないかもしれない

366 名前:仕様書無しさん mailto:sage [2012/04/14(土) 09:10:49.83 ]
それは慣れていない所だから有効なんだろう。
違和感が無くなるほど使用されている現場ならミス防止には役に立たない。

削除の時の確認ダイアログと同じ話。

367 名前:仕様書無しさん mailto:sage [2012/04/14(土) 09:28:16.94 ]
>365
>本質的に「わざと違和感を抱かせてミスを防ぐ」トリックだから
>やむをえないかもしれない

そんな理由付けが許されるならば、

int func0005()

とかも許されるな。
「これも、わざと違和感をもたらせてミスを防ぐトリックですよ」とか
「関数名がもたらす思い込みを排することでミスを防いでいます」とか。


368 名前:仕様書無しさん mailto:sage [2012/04/14(土) 09:38:57.26 ]
>>367
違和感を抱かせて「あぁ。そういうことね」と思い出させる。
0==hogeを見れば、「hogeに代入しないように」ということを思い出す。

さて、int func0005()
違和感は感じるが、肝心の「思い出す」ことはなんだ?

369 名前:仕様書無しさん mailto:sage [2012/04/14(土) 09:52:09.53 ]
hogeには代入してもいいんじゃないの?
代入したくないんだったらconstでも付けとけばいい話では。
(言語によってはできないのもあるのかな)

370 名前:仕様書無しさん mailto:sage [2012/04/14(土) 10:27:21.14 ]
if( 0 == hoge ) はほとんどお目にかかった事無いから気にして無い。
if( hoge = 0 ) はWarning出てるのに放置されてたのをこの前見かけた。

Warning出てるのにコミットする奴にイラッつとする。



371 名前:仕様書無しさん mailto:sage [2012/04/14(土) 10:56:45.31 ]
>>368
「動作を知りたければ仕様書にあたれ」とか?

372 名前:仕様書無しさん mailto:sage [2012/04/14(土) 11:09:30.40 ]
だいたいそんな言語を使うほうが悪い
VB使えよ

373 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:33:07.09 ]
だめだ、このスレは汚いソースコード位イライラする

374 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:34:52.32 ]
イライラじゃなくイラッつとしなくちゃダメだろ

375 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:36:56.40 ]
             ☆
     ×         ' .                    ×
    x            ` .        x            ヽ . ☆
                         X   ,. -. ‐'´ ̄``丶、 ノ}          X
                     /} /: : : : : : : : : ーヘ
                 ×   / //: : : :l: .:. .} | . : : : : } . . ゜
                     _ノ_,ム′: : : |:::::::/! l.::. : !  /: :\        , ☆
               _/ /,. -‐〉 : : :_ !:;イ¬.|:i::: |i.|. :.i::: : : ヽ     ;
        ☆ . .     ,. '´!{  ゝ-‐''^¨二.ノ:〔__− V!::!LTV{::: : : :.',
            ×x .   ぃ     .イ::. : : |⌒`  }:リ'示Y1:: : : i }         x  ×
       . '´     ,. 介iー-、 {:::::::::. : : !     ^' ヒ'リ ',.|:::. :..  :.!リ          X
  X    /       /ヽ' L!  ヽ. Y::::i::::. .::. |r:ゥ- 、' `^ /:::l::::.::::.x:リ′ ; ☆ イラッ☆
   x /      / /⌒ヽ  込Jヽ:ト:{>、:ィ八_ ,.‐く  イ:ィ:::!x::X::/ ゛
   i'´       /-r‘ー、  ヘ-┴‐〉 `'i¬  ヘ.__{:::::::}.彳〔__レ1::ル'゜   ゜ .
    ー 、 --−'´   コ:..:.}:    \ 丶  .l | -、匸⌒´:_;-、ノ }_ ´        ゜ ×.
     `ヽ、    └;.:.    ..  }  〉 ヽ.| 〈__:,.イv/´〕、冫`i  x          ☆
        ` ¬ゥ´:..:....:..:..:..: ,ノ、 \ { !    {.{j_/,ィう′ !
      x '   Y:..:..:..X:..:..:.∠.._    ヽ.} |.     } `マ^V   |      X
          , ゛ヽ:..:..:..:../  ,.⊥_  /小\¬-{   ∨ヘ._,. -‐¬、
        ☆     ` ー′  j:..:..:..:Y´:´/ハ卜':..! :ヽ  ∧::ヘ .:..:... }
                      /:..:..:..:..j/:..:.`:..:´:..:..i  :..:ト-_ノ マ'’:..:..:..:..ヘ 

376 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:44:31.81 ]
>>357
それ何が見やすいの?

377 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:47:34.30 ]
おまいらなんでC前提なん

378 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:53:40.47 ]
他の言語と違って、標準的なコーディングスタイルってものがないから。

379 名前:仕様書無しさん mailto:sage [2012/04/14(土) 12:58:37.37 ]
そんな言語早く捨ててしまえ

380 名前:仕様書無しさん mailto:sage [2012/04/14(土) 13:11:52.79 ]
比較演算に順序が決まってる言語なんてそもそも有っただろうか



381 名前:仕様書無しさん mailto:sage [2012/04/14(土) 13:53:02.05 ]
>>368
>違和感は感じるが、肝心の「思い出す」ことはなんだ?
一言では言い表せない、その関数の振る舞い全て。

>>371
その通り。


382 名前:仕様書無しさん mailto:sage [2012/04/14(土) 14:06:32.51 ]
>>381
そう思うならプログラムなんて適当に書けば?
ここにいる必要ないし、この板にいる必要もない。
プログラマ辞めちまえよ。

383 名前:仕様書無しさん mailto:sage [2012/04/14(土) 14:11:37.03 ]
>>381
真性の馬鹿だな。死んで欲しい。

384 名前:仕様書無しさん mailto:sage [2012/04/14(土) 14:25:13.34 ]
>>381
> 一言では言い表せない
じゃあダメだろw

一言で言い表せることが重要なんだから。

385 名前:仕様書無しさん mailto:sage [2012/04/14(土) 17:06:28.29 ]
イラッつとした相手が上司だったり先輩だったりすると何て言えばいいかわからない

386 名前:仕様書無しさん mailto:sage [2012/04/14(土) 17:15:42.21 ]
>>382-384
お前は何と戦っているんだ?


387 名前:仕様書無しさん mailto:sage [2012/04/14(土) 17:17:27.90 ]
>>385
イラッとしたら何か言わなくてはいけないという
法律でもあるのか?

388 名前:仕様書無しさん mailto:sage [2012/04/14(土) 17:23:41.06 ]
普通イラッてしたら
イラって言うだろ?

昨日も満員電車で
イラって何回も言ったわ

389 名前:仕様書無しさん mailto:sage [2012/04/14(土) 17:30:20.61 ]
昔ある中華料理のチェーン店でバイトしてたせいか
内装の同じ店に行くと新しい客が来たとき「イラッ」って言ってしまう

390 名前:仕様書無しさん mailto:sage [2012/04/14(土) 17:59:30.27 ]
>>388
うわーキモいw
そういう中二病のやついたなー学生の時w



391 名前:仕様書無しさん mailto:sage [2012/04/14(土) 18:25:54.65 ]
>>388
言わねえよww

392 名前:仕様書無しさん [2012/04/14(土) 18:26:10.67 ]
>>55 同意
>>249 あくせる
>>289 解釈の自由度が下がる=誤解が減る

393 名前:仕様書無しさん mailto:sage [2012/04/14(土) 18:28:55.84 ]
>>386
イラッつとしたら人に当たり散らすタイプなんだろう。

>>385
言い返す権利はないのよ?(´・ω・`)

394 名前:仕様書無しさん mailto:sage [2012/04/14(土) 18:54:49.16 ]
>>389
しゃーせー

395 名前:仕様書無しさん mailto:sage [2012/04/14(土) 19:18:26.96 ]
>>381は敢えて仕様書を読ませる為に
プログラムを読みにくくすると言ってるんだぞ。
まるでコボラーだな。

396 名前:仕様書無しさん mailto:sage [2012/04/14(土) 20:06:14.10 ]
ソース暗号化しといて、readmeに「複合鍵は仕様書の中に隠されているよ!頑張ってね☆ミ」で解決

397 名前:仕様書無しさん mailto:sage [2012/04/14(土) 21:10:03.59 ]
while (GetMessage(&message, 0, 0, 0) > 0) { }

while( 0 < GetMessage( &message, 0, 0, 0 ) ){}
になるだけで仕様書読まなきゃならんのか

398 名前:仕様書無しさん mailto:sage [2012/04/14(土) 22:32:45.64 ]
>>395
もう関数名を「仕様書嫁123」とかにすればいいのに。

399 名前:仕様書無しさん mailto:sage [2012/04/14(土) 22:37:11.11 ]
コンパイルしてしまえばコーディングスタイルなんて気にしなくてもよくなるだろ

400 名前:仕様書無しさん mailto:sage [2012/04/14(土) 22:43:49.11 ]
そゆこという奴よくいるよな



401 名前:仕様書無しさん mailto:sage [2012/04/14(土) 22:44:20.94 ]
コンパイルした後のコードを読んで修正してメンテナンスし続けるのならそうかもなw

402 名前:仕様書無しさん mailto:sage [2012/04/14(土) 22:54:21.47 ]
>>395
有象無象のソルジャーというか土方というか、そういうのを束ねて開発する
方法論としてはアリだと思うがな。やらされる立場になったら負けということで。

403 名前:仕様書無しさん mailto:sage [2012/04/14(土) 23:03:55.99 ]
やる立場になっても負けだろw

404 名前:仕様書無しさん mailto:sage [2012/04/15(日) 01:09:35.10 ]
男ならコードで語れや

405 名前:仕様書無しさん mailto:sage [2012/04/15(日) 15:19:30.14 ]
if (VeryLongoLongFunctionName(var1,var2,var3,var4) > 3)

みたいにクソ長い名称と比較するときは、定数を左辺に置いたほうが見やすい。

406 名前:仕様書無しさん mailto:sage [2012/04/15(日) 15:26:58.70 ]
int value = VeryLongoLongFunctionName(var1,var2,var3,var4);

if (value > 3)

こうすればいいだけ

407 名前:仕様書無しさん mailto:sage [2012/04/15(日) 15:35:57.19 ]
そもそも関数名すら読まないのかと疑いたくなる

408 名前:仕様書無しさん mailto:sage [2012/04/15(日) 15:46:23.75 ]
引数が多くて横に長くなる時にどう書いたら見やすいかでイラッつとする。

func( var1,
var2,
var3 );

funcがやたら長い名前だと何か変な感じになるしで困る。

409 名前:仕様書無しさん mailto:sage [2012/04/15(日) 16:19:41.22 ]
func( val1, val2, val3, val4,
 val5, val6, val7, val8) {
}
って書けばいいだけ

410 名前:仕様書無しさん mailto:sage [2012/04/15(日) 17:30:55.79 ]
Bazooka bazooka = new Bazooka("89mm");

bazooka.setDigree(60f);
bazooka.setRoll(25f);
bazooka.setPitch(0f);
bazooka.setExpression(0.5f);
bazooka.setPos(0f, 0f, -0.5f);
bazooka.setColor(1.0f, 1.0f, 1.0f, 1.0f);
bazooka.isMorningBazooka(false);
bazooka.setTarget("Kycilia Zabi");

Result result = bazooka.shot();



411 名前:仕様書無しさん mailto:sage [2012/04/15(日) 19:29:26.29 ]
>>406
いちいち変数に入れるなよイラッとする

412 名前:仕様書無しさん mailto:sage [2012/04/15(日) 19:33:24.86 ]
>>411
デバッガ使わない (使えない) 人特有の症状だね>一時変数を嫌う

413 名前:仕様書無しさん mailto:sage [2012/04/15(日) 19:56:25.02 ]
おまえがいってるのは一時変数じゃないだろ
それはともかく、whileやifの条件ならどっちの分岐に進んだか、
ループを抜けたか抜けないかで判断できる。
それによほどしょぼいデバッガーじゃなけりゃ戻り値確認できるし。

414 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:06:06.00 ]
>>409
こいつ馬鹿

>>410
何回も変数書いてバカっぽい。
どんだけタイピング好きなの?

415 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:25:38.67 ]
このスレのほとんどはGoにすれば解決しそうだな。

416 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:33:30.55 ]
メソッドチェインにするか

417 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:33:53.56 ]
>>414
うん、それで?

続き言わないとお前が恥をかくよ。

418 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:39:41.62 ]
>>414は構造体に入れて渡すと言いだす

419 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:41:52.50 ]
構造体にいれたら
関数のインターフェース変わるじゃんw

420 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:49:56.05 ]
カリー化しようよ



421 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:56:44.35 ]
じゃあ俺チキンカリー

422 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:56:56.57 ]
毎回引数が変わるのにカリー化するのか?

カリー化がわからない人へ。

class Foo {
 Foo(x, y, z);
}

↓Foo(コンストラクタ)をカリー化すると

class Foo {
 Foo(x, y) { Foo(x, y, 1) }
 Foo(x, y, z);
}

こうなります。これがカリー化ですw

423 名前:仕様書無しさん mailto:sage [2012/04/15(日) 20:59:25.22 ]
おおー、よく使うけど呼び名知らなかったわ

424 名前:仕様書無しさん mailto:sage [2012/04/15(日) 21:00:41.71 ]
デフォルト引数でいいやん

425 名前:仕様書無しさん mailto:sage [2012/04/15(日) 21:04:36.87 ]
>>422
違うだろ。

これだよ。

void foo(x, y, z)

↓ カリー化

#define foo1(x, y) foo(x, y, 1)

関数fooの引数のいくつかを埋めた、
”新しい関数を作る”こと

426 名前:仕様書無しさん mailto:sage [2012/04/15(日) 21:09:58.81 ]
>>425
変わらんだろ

427 名前:仕様書無しさん mailto:sage [2012/04/15(日) 21:13:27.79 ]
つかいま出てるのってカリー化モドキだよな

F(1, 2, 3, 4, 5);
F(1)(2)(3)(4, 5);
本来のカリー化なら呼び出し方を変えられるだけ
新しい関数を定義する必要はない
1つ関数を定義すれば自動で2通りの書き方ができる

428 名前:仕様書無しさん mailto:sage [2012/04/15(日) 21:37:46.36 ]
>>427
ほう、それは便利だ!



なにが?

429 名前:仕様書無しさん mailto:sage [2012/04/15(日) 21:47:58.06 ]
F(1, 2, 3, 4, 5);
F(1)(2)(3)(4, 5);

単に数学の概念上この2つが別である事がおかしいって話だよな
プログラム的にはこれが出来るとアダプター作る手間が省けて格段に楽になるんだが

430 名前:仕様書無しさん mailto:sage [2012/04/15(日) 22:01:57.19 ]
実際にはアダプタ作るとか
ラッパー関数作れば終わりなんだけどな。



431 名前:仕様書無しさん mailto:sage [2012/04/15(日) 22:02:21.06 ]
引数の数を変えるだけの場合。

432 名前:仕様書無しさん mailto:sage [2012/04/15(日) 22:48:31.36 ]
引数の多い関数が嫌だ。
引数が多いだけならともかく、多機能にして省略可能な引数を作るクズを絞め殺したい。

433 名前:仕様書無しさん mailto:sage [2012/04/16(月) 00:22:40.42 ]
「コーディングスタイル」以外の話はスレ違いですよ莫迦共。

434 名前:仕様書無しさん mailto:sage [2012/04/16(月) 00:53:37.95 ]
ぬるほど

435 名前:仕様書無しさん mailto:sage [2012/04/18(水) 14:38:45.93 ]
int GetSize()という関数を使うのに

if (!GetSize()) {
 …
}

436 名前:仕様書無しさん mailto:sage [2012/04/18(水) 15:37:32.74 ]
>>435
ああ、これはイラッつとするな

437 名前:仕様書無しさん mailto:sage [2012/04/18(水) 19:50:50.31 ]
>>435
Javaで、java.beansを使うわけでもなく、
それどころかCかC++なのにいちいちGet付けてんのがイラッとする。
Qtやらboostみたいにobject.Size();か、〜Size( object );でいいだろうに。

438 名前:仕様書無しさん mailto:sage [2012/04/18(水) 21:35:43.22 ]
>>437には同意

だが、

if (! foo.size()) {
// fooが空でないときの処理
}

の書き方は全く問題なし

439 名前:仕様書無しさん mailto:sage [2012/04/18(水) 21:50:25.96 ]
え?
>>438
コメントかコードのどちらかが間違ってるんじゃね?

440 名前:仕様書無しさん mailto:sage [2012/04/18(水) 23:13:07.07 ]
>>439
そのsize()はboolean型で、オブジェクトが空のときにtrueを返すという仕様という罠。



441 名前:仕様書無しさん mailto:sage [2012/04/18(水) 23:15:14.67 ]
>>435
とりあえず、Gが大文字なのがイラッつとする

442 名前:仕様書無しさん mailto:sage [2012/04/18(水) 23:26:48.71 ]
それは言語によって推奨されとる命名規則が違うんでなんとも

443 名前:仕様書無しさん mailto:sage [2012/04/19(木) 07:03:01.65 ]
Type.newと書ける言語でもないのに
関数名のキャメルケースがコンストラクターの
キャメルケースと違うのがイラッとする

const Example &object = Type();
const Example &object = Function();

444 名前:仕様書無しさん mailto:sage [2012/04/20(金) 05:38:44.65 ]
どうでもいいが、

for (i = 0; i < point; i++) {...}
は許せるが、
for (i = 0; point > i; i++) {...}
はイラッとくる。

あと、K&Rスタイルじゃないコーディングもイラッと来るおっさんですが。

445 名前:仕様書無しさん mailto:sage [2012/04/20(金) 06:59:50.72 ]
ラムダ式とプロパティの存在

446 名前:仕様書無しさん mailto:sage [2012/04/20(金) 18:04:11.69 ]
void illatz(int n, int step)
{
printf("%d, ", n);
if (n < 2) {
printf("%d step\n", step);
return;
}
++step;
n = n%2 ? 3*n+1 : n/2;
illatz(n, step);
}

447 名前:仕様書無しさん mailto:sage [2012/04/20(金) 19:59:13.79 ]
見やすく書く、
呼び出し構造を追いかけやすくする
インデントを揃える

こういう書き方ができない奴は
プログラマに向いていない。

美意識が無いやつは消えろ。

448 名前:仕様書無しさん mailto:sage [2012/04/20(金) 20:04:12.06 ]
hoge禁止

fooは許せるがhogeはイラッつとする俺だが、表立ってhogeを禁じられるのはそれはそれでイラッつとする

449 名前:仕様書無しさん mailto:sage [2012/04/20(金) 20:06:43.00 ]
fooとかbarは西洋かぶれっぽくて嫌味が。

450 名前:仕様書無しさん mailto:sage [2012/04/20(金) 23:55:09.79 ]
>>448
お前hageだな?w



451 名前:仕様書無しさん mailto:sage [2012/04/21(土) 00:16:12.53 ]
は、は、は、はげちゃうわ!

452 名前:仕様書無しさん mailto:sage [2012/04/21(土) 11:07:27.55 ]
まあまあ
アイスでも食って落ち着こうぜ

ttp://www.haagen-dazs.co.jp/






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<180KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef