リファクタリングとコードの臭い

InfoQの記事だけど


一方、コードベース全体に価値の乏しいリファクタリングをして"完璧なコード"を目指すのは金めっきと呼ばれます。これはコードをきれいにするのに有害です。リファクタリングのためのリファクタリングによって本当のリファクタリングのニーズを希薄にしてしまうのです。コードが問題なく動いており、変更する必要がないなら触らないほうがいいでしょう。


これがおかしい。間違ってる。金メッキというのはプロジェクトのスコープ外のリファクタリングのことを指すので「コードが問題なく動いており、変更する必要がないなら触らないほうがいい」(原文だとIf the code works and does not need to change, don’t touch it.)というものではない。そもそもリファクタリングは動いているけど臭うコードに対して行うものなので、動いている==問題ない==触ってはいけないというものではない。

あとこの金メッキはPMBOKの話だと思うけど金メッキはたしかリファクタリング以外のプロジェクトのスコープ外の作業も含んでたと思う。
ようは何でもかんでも作業せずに色々考慮して優先順位なり付けろという感じの話なので、プロジェクトのスコープがコードベースにたまったリファクタリングのTODOのお片付けでもない限り金メッキはコードの臭いとは直接関係ない。

proposal-setmap-offrom

https://github.com/leobalter/proposal-setmap-offrom
https://twitter.com/BrendanEich/status/771009446298329088

いまさらそこかよ。ジェネレーター内包ろくに議論せずに削除するから気付かないんだよバーカ!バーカ!

( Reflect.construct(Set, (for(x of [0,1,2]) x) ) ).size === 0
( Reflect.construct(Set, (function *(){ for(let i=0; i<3; i++) yield i; })() ) ).size === 0

これで気づくだろ。何のためにIteratable objectを引数に取ってるんだよ。

win10 RS1不安定ダス

ログインとデスクトップの起動が遅くなった。まあ、いつものアップデートするたびにプロファイルが巨大化する影響もあるんだろうけど。
設定の挙動がおかしい。
開発者モードにWSL有効しようとしたらハングアップして再起動時にwindowsの構成になるけどそれが進まなくなってリセットボタンでやり直し。
なんと何事もなく通常起動して構成が完了するとWSLがなかったことに。良かった。

あと、win updateのサーバーが重い。さっそくRS1用の累積アップデート諸々出てるので先に更新したほうが良かったかも。設定の挙動がおかしくて気付かなかった。

はやくbashというかUTF-8な端末が使いたい。WOUのgcc古いし。gitもう入ってるし。