teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

致命的な誤字の修正

2017/09/27 13:56

投稿

miyabi-sun
miyabi-sun

スコア21472

answer CHANGED
@@ -24,7 +24,7 @@
24
24
  後からminifyやuglifyみたいなツールをかければ最小かつ難読化されたコードを誰でも何時でも簡単に変換出来る。
25
25
  (Gulpのような登録さえしておけばワンコマンドで出来るようなタスクランナーツールもある)
26
26
  本当にファイルサイズを気にするなら、まずは改行コードとインデント全部取り払って1行にまとめた方がいい。
27
- 手作業でそのレベルの最適化出来る?絶対無だよ。
27
+ 手作業でそのレベルの最適化出来る?絶対無だよ。
28
28
 
29
29
  もし簡素な記述にこだわりたいなら、記述量が半分以下になるAltJSも検討すべき。
30
30
  CoffeeScriptやLiveScriptといった言語が代表例だね。

1

ツッコミ追加

2017/09/27 13:56

投稿

miyabi-sun
miyabi-sun

スコア21472

answer CHANGED
@@ -1,22 +1,42 @@
1
+ ごめん、最初に一言突っ込ませて
2
+
1
3
  > とある外注より上がってきたjsファイルを改修しているのですが
2
4
 
3
- 外注の人がメンテしないんかい!
5
+ お前がメンテするんかい!
4
- が間違ってるかって、保守する気のないコードを他人がせっせと直そうとてるところだね。
6
+ 作った人メンテするべきでしょ!明らかに間違ってるょ!
5
7
 
6
- 質問者さんの立場としてアドバイスするよ。
8
+ ---
7
9
 
8
- もし後から他人が触るようなコードの場合、保守性を考慮したコードでなければ納品物として認めない。
9
- 言うふうな取り決めを先にするべきだったかも
10
+ さて、質問者さんの立場してアドバイスする
10
11
 
12
+ 複数人の作業者でプロジェクトを作るのであれば、
13
+ 後から他人が触るようなコードの場合、保守性を考慮したコードでなければ納品物として認めない。
14
+ と言うふうな取り決めをするべきだろうね。
15
+
16
+ 特に新規開発と保守するメンバーが違うなら、なおさら保守するメンバーを守るような取り決めをしておくべき。
17
+ まぁ、どっちに向きすぎても駄目だからバランスは重要だけどね。
18
+
19
+ > この方がファイルも軽くなるしスマートだ、変えるつもりはないとの意見でした。
20
+ > 確かに、何度も同じ変数を使用する、コードも長いjsなので、ぱっと見綺麗です。
21
+
22
+ その意見は中途半端、それを今から証明しよう。
23
+
11
24
  後からminifyやuglifyみたいなツールをかければ最小かつ難読化されたコードを誰でも何時でも簡単に変換出来る。
12
- gulpやgruntみたいなワンコマンドで出来るようなタスクランナーツールもある)
25
+ Gulpのよう登録さえしておけばワンコマンドで出来るようなタスクランナーツールもある)
13
- 本当にファイルサイズ気にするなら、まずは改行コードとインデント全部取り払って1行にまとめた方がいい。
26
+ 本当にファイルサイズ気にするなら、まずは改行コードとインデント全部取り払って1行にまとめた方がいい。
14
27
  手作業でそのレベルの最適化出来る?絶対無料だよ。
15
28
 
16
- 更に簡素な記述にこだわりたいなら、CoffeeScriptやLiveScript等の記述量が半分以下になるAltJSを使った上で、先程紹介したGulpやGruntでJSに変換かければいい
29
+ もし簡素な記述にこだわりたいなら、記述量が半分以下になるAltJSも検討すべき
30
+ CoffeeScriptやLiveScriptといった言語が代表例だね。
17
- そうすればついにminifyuglifyもかけられから手間殆ど変ない。
31
+ 素のJSでやって限り、AltJSに絶対に敵わない、徹底できてない
18
- (まぁ、この辺は極論に極論で返すような話になっちゃってるけど)
19
32
 
33
+ そして変数a, b, c...ab!?
34
+ 状態変数はあればあるだけ思考の邪魔になるから、そんなに沢山用意するのは明らかにスマートじゃない。
35
+ [Lodash](https://lodash.com/)や[Ramda](http://ramdajs.com/docs/)のような関数型プログラミング用のライブラリも併用してみたら?
20
- どちらにせよ、素のJSで頑張って変数名を省略したりすのは努力の方向を間違えてると思うよ。
36
+ 不要な状態変数めっちゃ減から慣れると思考の邪魔をされずにスイスイ読み書き出来るよになるよ。
21
37
 
38
+ ---
39
+
40
+ まぁ、ツールを上手く使うっていうネタがあるよって話だね。
22
- こちらから出せ主張
41
+ JSだけで頑張って変数名を省略したりするのは限界る。
42
+ 現に保守担当の質問者さんが被害を受けているわけだし、こういったアプローチで提案してみてはどうかな?