98/ 3/17 (火) うねりコード  大学時代に私の同期のN村がモニタを見ながら、「悪いコードは遠くから見てもわかるんだよ、ほら、うねってるだろ」と言っていた。当時は笑うだけだったが、今は溜め息をつくばかりである。身の回りにあるコードはこんなのばかりだ。
 
 一応、「うねりコード」とは何であるのか説明すると、一つの関数のコードが異常に長く、インデントが異常に深く、そしてこれが一番重要なのだが、読んでいるうちに既視感 (デジャブ) に襲われるようなコードの事である。うねりコードの多くには面白い特徴がある。例えば、ほとんどのコメントが「変数セット」「変数初期化」「変数カウント」だけになったり、そのコードを作った人に誇らしげな笑顔を与えたり、更には「これはスパゲッティコードではない」と言わしめたりするのである (なんだか、書いてて辛くなってきた)。
 
 このような、うねりコードばかり書いたり見たりしていると、だんだん体に染み付いて、立派なうねりプログラマになる。うねりプログラマには特徴がある。彼らは極端なまでに goto 文を嫌い、フラグ変数を好む。巨大な配列をグローバルに宣言する。関数へのデータの引き渡しはポインタを使わず、配列の添え字を使用する。そして共通の合い言葉、「単に」を連発するようになる。
 
 「単に」と言う言葉は危険な言葉である。例えば、「この関数は何をしているの?」と聞くと、「単に、受け取った変数を処理して下 (の関数) へ渡しているだけです」と返ってきたりするのだが、「で、何をする関数なの?」と聞くと、「だから、単に処理して渡してます」といった具合に使われたりする。で、実際にコードをみると、まさに「単に」と言う他が無いほど、言葉にするのが不可能なコードが書かれていたりするのである。
 
 今日もうねりプログラマはコードをうねらせている。そして、極端に小さなフォントが表示されているモニタから痛くなった目を離し、こうつぶやくのである。「もっと大きなモニタと解像度が高いビデオカードがほしいなぁ」と。あぁ、うねりプログラマにも神の祝福あれ。

Notes

  1. hkitago reblogged this from otsune
  2. juno-s reblogged this from gkojax-text
  3. nullpointerexception reblogged this from gkojax-text
  4. klaftwerk reblogged this from gkojax-text
  5. kiiroi-kuchibashi reblogged this from gkojax-text
  6. gkojax-text reblogged this from jrgamo
  7. zochi reblogged this from yyuu
  8. dodoriak reblogged this from petapeta
  9. kesera reblogged this from otsune
  10. uz96 reblogged this from rarihoma
  11. nobby0-0 reblogged this from otsune
  12. icpo reblogged this from otsune
  13. alio2nd reblogged this from otsune
  14. shinkanaoka reblogged this from tiga
  15. qqqqqquotes reblogged this from otsune
  16. hossyusa reblogged this from reretlet
  17. konpany reblogged this from plasticdreams
  18. netaka reblogged this from otsune
  19. tofoo reblogged this from petapeta
  20. nothot reblogged this from plasticdreams
  21. koumon reblogged this from otsune
  22. kzgwss reblogged this from otsune
  23. gijibamboo reblogged this from tiga
  24. little-prayer reblogged this from mug-g
  25. petakirin reblogged this from chlt and added:
    マルチモニタほしがる私もうねりプログラマかも。。。
  26. flashno1 reblogged this from plasticdreams
  27. narukish reblogged this from otsune
  28. plasticdreams reblogged this from iizukak
  29. mogemura reblogged this from fumi-tano
  30. takashi0215 reblogged this from iizukak
  31. iizukak reblogged this from ken0205
  32. gutti reblogged this from ca5
  33. iymsts reblogged this from otsune
  34. mtag reblogged this from otsune
  35. kasenunderbar reblogged this from minadzki
  36. ca5 reblogged this from fujikky
  37. vitan reblogged this from otsune
  38. ken0205 reblogged this from otsune
  39. utagoe-lalala reblogged this from atasinti