今日のソフトウェアエンジニアリングの言葉は「farpotshket」です。これは「壊れた、誰かがそれを修正しようとしたため」という意味のイディッシュ語です。
(c)アンドロゼロゼロ
先日、私たちは、「レギュラーシーズンをキャッシュしておくといいだろう」という質問の仕事に恥ずかしさを感じました。
uncached = function(data_in) { return /_(\d)+(?:#(\d)+)?$/.exec(data_in); };
このようなことをした
cached = (function() { var pattern = /_(\d)+(?:#(\d)+)?$/; return function(data_in) { return pattern.exec(data_in); }; })();
このアイデアは人気がありますが、実際の利益とオーバーヘッドについて考えている人はどれくらいいますか?
比較性能テストの結果は奇妙であることが判明しました-私の期待に反して、違いさえ測定誤差の範囲内でした:
キャッシュなし13,268 キャッシュされた13,070
ある種のプラットフォームとブラウザーの接続に数字がある場合もありますが、それらは有効ですが、費用はいくらですか?
複雑さのレポートを取り、それぞれの機能の指標を見てみましょう:
機能:キャッシュなし 物理SLOC:3 論理SLOC:1 パラメータ数:1 循環的複雑度:1 ハルステッドの難易度:2 Halsteadボリューム:18.094737505048094 ハルステッドの努力:36.18947501009619 機能:キャッシュ 物理SLOC:8 論理SLOC:3 パラメータ数:0 循環的複雑度:1 ハルステッドの難易度:2.666666666666666565 Halsteadボリューム:22.458839376460833 ハルステッドの努力:59.89023833722889
絶対数は少ないが、それでもハルステッドコードインジケーターに注意してください-難易度が30%増加し、ゼロに近い利益で努力が65%増加します-何かがうまくいかなかったという良いヒントです。
はい、良いプラクティスと優れたヒントがありますが、それらを賢明に使用し、批判的に評価し、文脈から引き出さないようにする必要があります。
そして、予備的な最適化を行わないでください-最初のプロファイリングとその後の改善のみ。
要するに-ゴミをしないでください。