JavaScript

玄人プログラマでもやりがちなあるある難読プログラム

More than 1 year has passed since last update.

全部実際にあったことです #大手の子会社 #ベンチャー


変数を持ち替えすぎている

例:

var w = window, var d = document

とするパターン。


  • 変数を検索しずらい。

  • 別の人が「wってなに?dって??」となる。


単体テストできない関数...


function getAttributeWithPrefix(elem, symbol, defaultValue) {
return elem && elem.getAttribute(prefix + symbol) || defaultValue;
}

prefix変数の定義がどこかにコードに埋もれていたなら、もうテストしんどいぞ。。

外から変数持ってくるのやめなさい。


関数がファット

難読玄人「わかってはいるけど、負債の積み重ねでどうしても、、。」


try catch文の多用

なぜ多用するのか未だに理解不能、、。


なぜかオブジェクト指向で書いていない

書くとすっきりするコードに限って書いていない、、。


意外と密結合


  • 特にクラス内のメソッド同士。

  • いやふつうの関数同士でもやべぇやつがいる...


キャメルケースとスネークが入り乱れる


  • 意外とやりやがる難読玄人が多い...

  • 属性から値を貰おうがテンプレートエンジンの変数だろうが、いかなる理由でも統一すべき。。


やばい命名。


  • メソッド名、関数名 が 名詞、過去形。。

  • 過去形にした理由はコールバック用だと思うが、ナンセンス過ぎるだろ。。 そもそも汎用性もない。


そのくせいちゃもんが多い


  • 難読玄人「メモリの消費に関して徹底的にこだわりたいのだ、、!」

  • 難読玄人「ファイルの末行は改行を!」

  • 難読玄人「{の前には半角スペースを!」

前に進まぬ、、!