アカウント名:
パスワード:
>パフォーマンスが上がるわけでもないことが分かったとのこと。
代表的な10の方法ってものが、Wikipediaのリファクタリングの項目にのっているものだとすると、そもそもパフォーマンスが向上するような手法は無いと思うのですけど。
あくまで保守性を上げるぐらいでしょう。
むしろ、関数が分割されて呼び出しコストがかかりそう...
ある分野においてはそうかもしれないけど、PC用のアプリケーションなら小さい関数に分割することで速くなることも多い。逆にインライン化して「確実に」速くなるのはアクセサ相当のものぐらい。
もちろん、「小さい処理」であれば速くなるだろうけど、その「小さい処理」の線引きが難しいから、関数に関しては可読性重視で書いておくのがいい。高速化のテクニックはいろいろあるけど、呼び出す関数が静的に決定できる限りにおいては、簡素になる方向で書いておけば、ほぼ間違いはない。
そもそも、高速化が必要なのかと言うのも問題だし、高速化するにしても、関数呼び出しにかかわる部分をいじるのは割と後の方。まずは余計な重い処理を減らすことが先決で、そういう処理を探し出すためにも長い関数は分割しておいた方がいい。
実験データが4500行のコードといっているので、分割されても複数箇所から呼び出されることも無さそうですね。
そもそもタイトルにある「コードの質」って何をもっていっているのだろうか。コードの質が高い≒パフォーマンスでしょう。
そうそう。 ソースにドキュメントを書き入れるのもリファクタリングだよね?関数の機能を確認し、インターフェース(引数と戻り値と大域変数との関わりなど)を詳細に説明する説明文をコメントとして入れる。 各処理のコメントも充実させるなどな。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家
そもそも性能上げるための作業じゃないでしょう。 (スコア:0)
>パフォーマンスが上がるわけでもないことが分かったとのこと。
代表的な10の方法ってものが、Wikipediaのリファクタリングの項目にのっているものだとすると、
そもそもパフォーマンスが向上するような手法は無いと思うのですけど。
あくまで保守性を上げるぐらいでしょう。
Re: (スコア:0)
むしろ、関数が分割されて呼び出しコストがかかりそう...
Re:そもそも性能上げるための作業じゃないでしょう。 (スコア:1)
ある分野においてはそうかもしれないけど、PC用のアプリケーションなら小さい関数に分割することで速くなることも多い。逆にインライン化して「確実に」速くなるのはアクセサ相当のものぐらい。
もちろん、「小さい処理」であれば速くなるだろうけど、その「小さい処理」の線引きが難しいから、関数に関しては可読性重視で書いておくのがいい。高速化のテクニックはいろいろあるけど、呼び出す関数が静的に決定できる限りにおいては、簡素になる方向で書いておけば、ほぼ間違いはない。
そもそも、高速化が必要なのかと言うのも問題だし、高速化するにしても、関数呼び出しにかかわる部分をいじるのは割と後の方。まずは余計な重い処理を減らすことが先決で、そういう処理を探し出すためにも長い関数は分割しておいた方がいい。
Re: (スコア:0)
実験データが4500行のコードといっているので、
分割されても複数箇所から呼び出されることも無さそうですね。
そもそもタイトルにある「コードの質」って何をもっていっているのだろうか。
コードの質が高い≒パフォーマンスでしょう。
Re: (スコア:0)
そうそう。 ソースにドキュメントを書き入れるのもリファクタリングだよね?
関数の機能を確認し、インターフェース(引数と戻り値と大域変数との関わりなど)を
詳細に説明する説明文をコメントとして入れる。 各処理のコメントも充実させるなどな。