10 ~ 20 行となると、ちょっと長い。
20 ~ 30 行となると、長い。
30 ~ 40 行となると、かなり長い。
40 行以上はやばい。(※)
※ ごく稀に仕方のないものもある。例えば switch 文による何かしらの変換処理とか。
この前60行行ってしまいました…
(その内変数宣言で10行位)
LINQ構文で3行位×3
でも短い方が良い事は良いですよねぇ。
2009.03.10 13:38 URL | naoki #1zy/x5P2 [ 編集 ]
ありゃ、60 行は僕的には "やばい" ですw
> でも短い方が良い事は良いですよねぇ。
そうですねー、ただ一番重要なのは
処理を適切に分割 (メソッド化) し適切な名前を付けることですね
(適切なクラスに処理を行わせることも)
メソッドの行数は、分割する際の目安の "一つ" になります
他には、コメントを書きたくなったらメソッド化を検討、ってのも一つの目安ですね
2009.03.10 18:15 URL | よこけん #Ay6tTHf6 [ 編集 ]
僕も 20 行を超えたらメソッドアウトを検討します。
名前を付けるということは実装の抽象化だと思うので、わかりにくい実装の場合は 1 行だけのメソッドアウトというものも行います。
逆に、初期値設定が続く場合で、メソッドを分けるとわかりにくくなるようなものは、長くても一つのメソッドに列挙してしまいます。
・・・まぁ、そういう例は殆どありませんけどw
2009.03.12 09:02 URL | R・田中一郎 #mQop/nM. [ 編集 ]
全くもって同意ですw
> 名前を付けるということは実装の抽象化だと思うので
僕もそう思います。
実装をうまく抽象化してあるプログラムは、可読性がかなり高いですね。
2009.03.12 14:50 URL | よこけん #Ay6tTHf6 [ 編集 ]
自分は20行~30行位にメソッドの構造化を行ってます。
とは言っても行く先々の現場では「なんでメソッドを細かくするの?」と怒られる事がしばしばです。説明するにも面倒なので「これで良いんです!」ってごり押ししてますが・・。
今の現場では6000行~10000行のメソッドがゴロゴロいるんですがw
2009.03.12 16:13 URL | kazuto #enfO5NS6 [ 編集 ]
メソッドの分割をしない方達にとっては、かなり異質に見えるようですね。
可読性を確保する意味と、なぜメソッド分割によって可読性が確保できるのか、この二点を理解して貰わないと、中々認めてもらえないですね。
> 今の現場では6000行~10000行のメソッドがゴロゴロいるんですがw
…^^;
2009.03.13 01:01 URL | よこけん #Ay6tTHf6 [ 編集 ]
トラックバックURL↓
http://csharper.blog57.fc2.com/tb.php/254-b604c62f