3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

3
Last updated at Posted at 2018-05-23

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

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

例:
var w = window, var d = document
とするパターン。

  • 変数を検索しずらい。
  • 別の人が「wってなに?dって??」となる。

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


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

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

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

関数がファット

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

try catch文の多用

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

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

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

意外と密結合

  • 特にクラス内のメソッド同士。
  • いやふつうの関数同士でもやべぇやつがいる...

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

  • 意外とやりやがる難読玄人が多い...
  • 属性から値を貰おうがテンプレートエンジンの変数だろうが、いかなる理由でも統一すべき。。

やばい命名。

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

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

  • 難読玄人「メモリの消費に関して徹底的にこだわりたいのだ、、!」
  • 難読玄人「ファイルの末行は改行を!」
  • 難読玄人「{の前には半角スペースを!」

前に進まぬ、、!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?